<html>

<head>

<title>星空</title>

<META http-equiv="X-UA-Compatible" content="IE=edge"></META>

<META http-equiv="Content-Type" content="text/html; charset=gb2312"/>

<script>

var BW = 800; //canvas width

var BH = 600; //canvas height

var MAX_STAR_SIZE = 3;

var MAX_STAR_SPEED = 1;

var STAR_COUNT = 120;

var BGCOLOR = "black";

var ctx;

var stars = [];



function rndf(n){

return Math.floor(Math.random()*n);

}



function rndc(n){

return Math.ceil(Math.random()*n);

}



function Star(){

this.reset = function(){

this.x = 0;

this.y = rndf(BH);

this.size = rndc(MAX_STAR_SIZE);

this.vx = MAX_STAR_SPEED*this.size/MAX_STAR_SIZE;

this.vy = 0;

this.color = "rgba("+rndf(255)+", "+rndf(255)+", "+rndf(255)+", 0.5)";

};



this.reset();

this.x = rndf(BW);

}

function render(){

ctx.globalCompositeOperation = "source-over";

ctx.fillStyle = "rgba(0, 0, 0, 0.3)";

ctx.fillRect(0, 0, BW, BH);

ctx.globalCompositeOperation = "lighter";

for(var i = 0; i < STAR_COUNT; ++i){

var p = stars[i];

ctx.beginPath();

var gradient = ctx.createRadialGradient(p.x, p.y, 0, p.x, p.y, p.size);

gradient.addColorStop(0, "white");

gradient.addColorStop(0.4, "white");

gradient.addColorStop(0.4, p.color);

gradient.addColorStop(1, "black");

ctx.fillStyle = gradient;

ctx.arc(p.x, p.y, p.size, Math.PI*2, false);

ctx.fill();

p.x += p.vx;

p.y += p.vy;



if(p.x<=0 || p.x>=BW || p.y<=0 || p.y>=BH){

p.reset();

}

}

}

function init(){

if (!window.console){

console = {log:function(){},debug:function(){}};

}

//create canvas

var cv = document.createElement('canvas');

cv.width = BW;

cv.height = BH;

cv.style.background = BGCOLOR;

document.body.appendChild(cv);

ctx = cv.getContext("2d");

//create all stars

for(var i=0;i<STAR_COUNT;++i){

var s = new Star();

stars.push(s);

}

setInterval(render, 33);

};

</script>

</head>

<body onload="init()">

<div><A href="http://www.999jiujiu.com/">http://www.999jiujiu.com/</A></div>

</body>

</html>

HTML5梦幻星空,可用作网页背景的更多相关文章

  1. 15款免费的 HTML5/CSS3 响应式网页模板

    如果你想快速制作出一个优秀的网站,网站模板一定是必不可少的.网页设计师和开发人员也可以从网站模板入手,学习先进的布局方式和编码风格.下面这个列表为大家挑选了15款免费的 HTML5/CSS3 响应式网 ...

  2. html5 canvas首屏自适应背景动画循环效果代码

    模板描述:html5 canvas首屏自适应背景动画循环效果代码 由于动态图太大,怕以后服务器受不了,所以现在都改为静态图了,大家点击演示地址一样的,希望大家喜欢,你们的支持就是小海的动力!! 欢迎大 ...

  3. 借助Html制作渐变的网页背景颜色

    借助Html制作渐变的网页背景颜色 <html> <head> <title>制作渐变背景</title> <meta http-equiv=&q ...

  4. 【HTML5+MVC4】xhEditor网页编辑器图片上传

    准备工作: 创建一个MVC项目中,添加好xhEditor插件 相关用法:http://www.cnblogs.com/xcsn/p/4701497.html 注意事项:xhEditor分为v1.1.1 ...

  5. 【CSS】css网页背景图片设置

    刚学CSS,了解了下网页背景图设置,顺便记录下. 下面主要是实现背景图位置保持不变,即不随滚动条动而动的功能. body { background-image:url(images/bck.png); ...

  6. 基于html5实现的愤怒的小鸟网页游戏

    之前给大家分享一款基于html5 canvas和js实现的水果忍者网页版,今天给大家分享一款基于html5实现的愤怒的小鸟网页游戏.这款游戏适用浏览器:360.FireFox.Chrome.Safar ...

  7. 用CSS让网页背景图片居中的方法

    网页背景居中的方法有很多种的.这里介绍一些用CSS让背景图片居中的方法. 让背景图片居中的第一个方法是用像素设定,很多都用这种,但是也是最麻烦的: <div style="width: ...

  8. JavaScript实现网页背景自动变色

    JavaScript实现网页背景自动变色,自己变换颜色,设定时间和颜色值即可,在你设定的颜色值.一定时间内自动切换网页背景颜色. <!DOCTYPE HTML PUBLIC "-//W ...

  9. CROW-5 WEB APP引擎商业计划书(HTML5方向)-微信网页版微信公众平台登录-水仙谷

    CROW-5 WEB APP引擎商业计划书(HTML5方向)-微信网页版微信公众平台登录-水仙谷 CROW-5 WEB APP引擎商业计划书(HTML5方向)

随机推荐

  1. Ftp的上传和下载

    百度知道的那个在“ 绑定和SSL设置”模块,选择的是允许 如果一直找不到网页的话,就是这里错了:反正就是牵扯到一堆防火墙的设置(最后我也没搞成) 选择成无就OK了:一切迎刃而解............ ...

  2. 轻量级记事本工具:CintaNotes

    本片文章介绍CintaNotes小工具 功能介绍: 方便.快捷的记录笔记: 快捷地从任何地方等截取内容生成笔记: 高效的记事本内容查询: 轻松的标签管理 支持移动设备和电脑同步(估计要收费) 官网下载 ...

  3. javaScript 原型与原型链学习笔记

    javaScript中,原型是常用到一种方式,它能降低储存占用,写出更高效的代码 原型常用到的则是prototype属性 JavaScript prototype 属性 定义和用法 prototype ...

  4. angularjs之手机输入法回车变搜索,并触发事件,兼容pc回车事件

    一.效果:回车按钮变搜索 之前的输入法: 之后的输入法: 二.功能实现 <input type="search" id="search_input" pl ...

  5. Linux 桌面玩家指南:18. 我对 Docker 的使用的学习心得

    原文:Linux 桌面玩家指南:18. 我对 Docker 的使用的学习心得 特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记 ...

  6. HDU4596 Yet another end of the world 扩展欧几里德性质

    这题坑了,我真该吃翔啊,竟然一開始方程设错了并且没有去想连列的问题,我真是坑货,做不出就该又一次理一下嘛.操蛋. 题意:给了N组x,y,z然后 问你是否存在两个或者两个以上的id,是的 id%x的值在 ...

  7. Android自己定义视图(一):带下划线的TextView

    package com.francis.underlinetextviewtest; import android.content.Context; import android.content.re ...

  8. 修正单纯形法&#183;优化算法实现&#183;Java

    修正单纯性法 代码例如以下: 舍去了输入转化的内容,主要包括算法关键步骤. public class LPSimplexM { private static final double inf = 1e ...

  9. vim-缓存区中打开另外一个文件的方法

    现在有这么一种情况:    我现在在ubuntu用户根目录下--    我根目录下有一个文件夹blogs,这个文件夹下面有两个文件:text1,text2.    我现在从-目录下进行如下操作    ...

  10. Kinect 开发 —— 手势识别(下)

    基本手势追踪 手部追踪在技术上和手势识别不同,但是它和手势识别中用到的一些基本方法是一样的.在开发一个具体的手势控件之前,我们先建立一个可重用的追踪手部运动的类库以方便我们后续开发.这个手部追踪类库包 ...