• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    JS實現(xiàn)動態(tài)星空背景

    2019-10-28    seo達人



    這里我截取的是一個圖片,實際上是會動的。廢話不多說,上代碼。

    HTML:



    <canvas id="canvas"></canvas>

    1

    CSS:



    /css reset /

    body,p,div,ol,ul,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,iframe,nav {

        margin: 0;

        padding: 0;

    }

    html,body {

        width: 100%;

        height: 100%;

    }

    body {

        font: 14px Microsoft YaHei;

        -webkit-text-size-adjust:100%;

        -moz-user-select: none;

        -webkit-user-select: none;

        user-select: none;

        position: relative;

        background: #000;

    }


    canvas {

        width: 100%;

        height: 100%;

        display: block;

        opacity: .8;

    }





    // 音量大小,0.01-1





    //宇宙

    var canvas = document.getElementById('canvas'),

    ctx = canvas.getContext('2d'),

    w = canvas.width = window.innerWidth,

    h = canvas.height = window.innerHeight,



    hue = 217,

    stars = [],

    count = 0,

    maxStars = 1100;                //星星數(shù)量,默認1300

    var canvas2 = document.createElement('canvas'),

    ctx2 = canvas2.getContext('2d');

    canvas2.width = 100;

    canvas2.height = 100;

    var half = canvas2.width / 2,

    gradient2 = ctx2.createRadialGradient(half, half, 0, half, half, half);

    gradient2.addColorStop(0.025, '#CCC');

    gradient2.addColorStop(0.1, 'hsl(' + hue + ', 61%, 33%)');

    gradient2.addColorStop(0.25, 'hsl(' + hue + ', 64%, 6%)');

    gradient2.addColorStop(1, 'transparent');



    ctx2.fillStyle = gradient2;

    ctx2.beginPath();

    ctx2.arc(half, half, half, 0, Math.PI 2);

    ctx2.fill();



    // End cache

    function random(min, max) {

        if (arguments.length < 2) {

            max = min;

            min = 0;

        }



        if (min > max) {

            var hold = max;

            max = min;

            min = hold;

        }



        return Math.floor(Math.random()
    (max - min + 1)) + min;

    }



    function maxOrbit(x, y) {

        var max = Math.max(x, y),

        diameter = Math.round(Math.sqrt(max max + max max));

        return diameter / 2;

        //星星移動范圍,值越大范圍越小,

    }



    var Star = function() {



        this.orbitRadius = random(maxOrbit(w, h));

        this.radius = random(60, this.orbitRadius) / 10;       //星星大小,值越大星星越小,默認8

        

        this.orbitX = w / 2;

        this.orbitY = h / 2;

        this.timePassed = random(0, maxStars);

        this.speed = random(this.orbitRadius) / 80000;        //星星移動速度,值越大越慢,默認5W

        

        this.alpha = random(2, 10) / 10;



        count++;

        stars[count] = this;

    }



    Star.prototype.draw = function() {

        var x = Math.sin(this.timePassed) this.orbitRadius + this.orbitX,

        y = Math.cos(this.timePassed)
    this.orbitRadius + this.orbitY,

        twinkle = random(10);



        if (twinkle === 1 && this.alpha > 0) {

            this.alpha -= 0.05;

        } else if (twinkle === 2 && this.alpha < 1) {

            this.alpha += 0.05;

        }



        ctx.globalAlpha = this.alpha;

        ctx.drawImage(canvas2, x - this.radius / 2, y - this.radius / 2, this.radius, this.radius);

        this.timePassed += this.speed;

    }



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

        new Star();

    }



    function animation() {

        ctx.globalCompositeOperation = 'source-over';

        ctx.globalAlpha = 0.5;                                 //尾巴

        ctx.fillStyle = 'hsla(' + hue + ', 64%, 6%, 2)';

        ctx.fillRect(0, 0, w, h)



        ctx.globalCompositeOperation = 'lighter';

        for (var i = 1,

        l = stars.length; i < l; i++) {

            stars[i].draw();

        };



        window.requestAnimationFrame(animation);

    }



    animation();

    藍藍設(shè)計www.lzhte.cn )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計  cs界面設(shè)計  ipad界面設(shè)計  包裝設(shè)計  圖標(biāo)定制  用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 平面設(shè)計服務(wù)

    日歷

    鏈接

    個人資料

    藍藍設(shè)計的小編 http://www.lzhte.cn

    存檔

    主站蜘蛛池模板: 久99久精品免费视频热七七| 亚洲色大成网站www久久九| 女人爽到高潮免费看视频| 蜜桃无码一区二区三区| 欧美综合精品久久久久成人影院 | 99热在线只有精品| 97久久香蕉国产线看观看 | 国产精品成人观看视频免费| 伊人查蕉在线观看国产精品| 综合国产av一区二区三区| 蜜臀91| 久久国产影视免费精品| 日本一区二区不卡视频| 最新精品国偷自产在线下载| 国产Av无码精品色午夜| 2021久久天天躁狠狠躁夜夜| 亚洲一区二区三区深夜天堂| 91亚洲精品国产自在现线| 国产尤物视频网址导航| 日韩欧美MV在线观看免费| 91超碰在线国产精品| 望城县| 一本久久综合亚洲鲁鲁五月天| 中文字幕日本丰满人妻| 国产日产精品_国产精品毛片| 一区二区三区亚洲成高清| 中文韩国午夜理伦三级好看| 宣城市| 97色色资源站| 国产高清在线A免费视频观看| 久久亚洲国产中v天仙www| 亚洲爆乳WWW无码专区| 亚欧免费视频一区二区三区| 久久无码国产专区精品| 不卡无码人妻一区二区三区 | 德保县| 久久精品国产亚洲av影院| 日本久久香蕉一本一道| 国产精一区二区三区午夜| 一本一道AV无码中文字幕﹣百度| 精品国产一区二区av麻豆不卡|