zoukankan      html  css  js  c++  java
  • HTML5梦幻星空,可用作网页背景

    <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>
  • 相关阅读:
    centos7 安装配置openstack-dashboard (官网openstack-juno版)
    OpenCV图像处理篇之图像平滑
    在matlab中生成m序列
    【转】oracle创建表空间
    Android代码中动态设置图片的大小(自动缩放),位置
    Eclipse安装SVN插件
    visualSVN server库迁移
    Win7 64bit 安装VisualSVN出现报错:Servic 'VisualSVN Server' failed to start.解决办法
    具体图解 Flume介绍、安装配置
    hadoop(八)
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7000693.html
Copyright © 2011-2022 走看看