茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    HTML5進度條特效
    來源:易賢網 閱讀:1145 次 日期:2015-01-16 13:48:28
    溫馨提示:易賢網小編為您整理了“HTML5進度條特效”,方便廣大網友查閱!

    請使用支持HTML5的瀏覽器查看本特效

    代碼如下:

    <!DOCTYPE html>

    <html>

    <head>

    <meta charset='UTF-8'>

    <title>HTML5有特色的進度條</title>

    <base target="_blank" />

    <style>

    body {

    background: #111;

    color:White;

    }

    a{color:White;}

    canvas {

    background: #111;

    border: 1px solid #171717;

    display: block;

    left: 50%;

    margin: -51px 0 0 -201px;

    position: absolute;

    top: 50%;

    }

    </style>

    </head>

    <body>

    <script type="text/javascript">

    /*==============================================*/

    /* Light Loader

    /*==================================================*/

    var lightLoader = function (c, cw, ch) {

    var _this = this;

    this.c = c;

    this.ctx = c.getContext('2d');

    this.cw = cw;

    this.ch = ch;

    this.loaded = 0;

    this.loaderSpeed = .6;

    this.loaderHeight = 10;

    this.loaderWidth = 310;

    this.loader = {

    x: (this.cw / 2) - (this.loaderWidth / 2),

    y: (this.ch / 2) - (this.loaderHeight / 2)

    };

    this.particles = [];

    this.particleLift = 180;

    this.hueStart = 0

    this.hueEnd = 120;

    this.hue = 0;

    this.gravity = .15;

    this.particleRate = 4;

    /*========================================================*/

    /* Initialize

    /*========================================================*/

    this.init = function () {

    this.loop();

    };

    /*========================================================*/

    /* Utility Functions

    /*========================================================*/

    this.rand = function (rMi, rMa) { return ~ ~((Math.random() * (rMa - rMi + 1)) + rMi); };

    this.hitTest = function (x1, y1, w1, h1, x2, y2, w2, h2) { return !(x1 + w1 < x2 || x2 + w2 < x1 || y1 + h1 < y2 || y2 + h2 < y1); };

    /*========================================================*/

    /* Update Loader

    /*========================================================*/

    this.updateLoader = function () {

    if (this.loaded < 100) {

    this.loaded += this.loaderSpeed;

    } else {

    this.loaded = 0;

    }

    };

    /*========================================================*/

    /* Render Loader

    /*========================================================*/

    this.renderLoader = function () {

    this.ctx.fillStyle = '#000';

    this.ctx.fillRect(this.loader.x, this.loader.y, this.loaderWidth, this.loaderHeight);

    this.hue = this.hueStart + (this.loaded / 100) * (this.hueEnd - this.hueStart);

    var newWidth = (this.loaded / 100) * this.loaderWidth;

    this.ctx.fillStyle = 'hsla(' + this.hue + ', 100%, 40%, 1)';

    this.ctx.fillRect(this.loader.x, this.loader.y, newWidth, this.loaderHeight);

    this.ctx.fillStyle = '#222';

    this.ctx.fillRect(this.loader.x, this.loader.y, newWidth, this.loaderHeight / 2);

    };

    /*========================================================*/

    /* Particles

    /*========================================================*/

    this.Particle = function () {

    this.x = _this.loader.x + ((_this.loaded / 100) * _this.loaderWidth) - _this.rand(0, 1);

    this.y = _this.ch / 2 + _this.rand(0, _this.loaderHeight) - _this.loaderHeight / 2;

    this.vx = (_this.rand(0, 4) - 2) / 100;

    this.vy = (_this.rand(0, _this.particleLift) - _this.particleLift * 2) / 100;

    this.width = _this.rand(1, 4) / 2;

    this.height = _this.rand(1, 4) / 2;

    this.hue = _this.hue;

    };

    this.Particle.prototype.update = function (i) {

    this.vx += (_this.rand(0, 6) - 3) / 100;

    this.vy += _this.gravity;

    this.x += this.vx;

    this.y += this.vy;

    if (this.y > _this.ch) {

    _this.particles.splice(i, 1);

    }

    };

    this.Particle.prototype.render = function () {

    _this.ctx.fillStyle = 'hsla(' + this.hue + ', 100%, ' + _this.rand(50, 70) + '%, ' + _this.rand(20, 100) / 100 + ')';

    _this.ctx.fillRect(this.x, this.y, this.width, this.height);

    };

    this.createParticles = function () {

    var i = this.particleRate;

    while (i--) {

    this.particles.push(new this.Particle());

    };

    };

    this.updateParticles = function () {

    var i = this.particles.length;

    while (i--) {

    var p = this.particles[i];

    p.update(i);

    };

    };

    this.renderParticles = function () {

    var i = this.particles.length;

    while (i--) {

    var p = this.particles[i];

    p.render();

    };

    };</p> <p>/*========================================================*/

    /* Clear Canvas

    /*========================================================*/

    this.clearCanvas = function () {

    this.ctx.globalCompositeOperation = 'source-over';

    this.ctx.clearRect(0, 0, this.cw, this.ch);

    this.ctx.globalCompositeOperation = 'lighter';

    };

    /*========================================================*/

    /* Animation Loop

    /*========================================================*/

    this.loop = function () {

    var loopIt = function () {

    requestAnimationFrame(loopIt, _this.c);

    _this.clearCanvas();

    _this.createParticles();

    _this.updateLoader();

    _this.updateParticles();

    _this.renderLoader();

    _this.renderParticles();

    };

    loopIt();

    };

    };

    /*========================================================*/

    /* Check Canvas Support

    /*========================================================*/

    var isCanvasSupported = function () {

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

    return !!(elem.getContext && elem.getContext('2d'));

    };

    /*========================================================*/

    /* Setup requestAnimationFrame

    /*========================================================*/

    var setupRAF = function () {

    var lastTime = 0;

    var vendors = ['ms', 'moz', 'webkit', 'o'];

    for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {

    window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];

    window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];

    };

    if (!window.requestAnimationFrame) {

    window.requestAnimationFrame = function (callback, element) {

    var currTime = new Date().getTime();

    var timeToCall = Math.max(0, 16 - (currTime - lastTime));

    var id = window.setTimeout(function () { callback(currTime + timeToCall); }, timeToCall);

    lastTime = currTime + timeToCall;

    return id;

    };

    };

    if (!window.cancelAnimationFrame) {

    window.cancelAnimationFrame = function (id) {

    clearTimeout(id);

    };

    };

    };

    /*========================================================*/

    /* Define Canvas and Initialize

    /*========================================================*/

    if (isCanvasSupported) {

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

    c.width = 400;

    c.height = 100;

    var cw = c.width;

    var ch = c.height;

    document.body.appendChild(c);

    var cl = new lightLoader(c, cw, ch);

    setupRAF();

    cl.init();

    }

    </script>

    <div style="position:absolute; top: 0;width:100%">

    <div class="footer-banner" style="width:728px;margin:10px auto;color:White">

    HTML5進度條

    請使用支持HTML5的瀏覽器查看本頁</div>

    </div>

    </body>

    </html>

    更多信息請查看IT技術專欄

    更多信息請查看網頁制作
    易賢網手機網站地址:HTML5進度條特效

    2026上岸·考公考編培訓報班

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網