• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    JS實現520表白代碼案例分析

    來源:懂視網 責編:小采 時間:2020-11-27 19:47:46
    文檔

    JS實現520表白代碼案例分析

    JS實現520表白代碼案例分析:這次給大家帶來JS實現520表白代碼案例分析,JS實現520表白代碼的注意事項有哪些,下面就是實戰案例,一起來看一下。這兩天不知道咋了,迷迷糊糊的,突然知道今天是520的我,急急忙忙趕出個程序(新手,代碼有點亂),發出來大家一起研究下(參考百度的)。&
    推薦度:
    導讀JS實現520表白代碼案例分析:這次給大家帶來JS實現520表白代碼案例分析,JS實現520表白代碼的注意事項有哪些,下面就是實戰案例,一起來看一下。這兩天不知道咋了,迷迷糊糊的,突然知道今天是520的我,急急忙忙趕出個程序(新手,代碼有點亂),發出來大家一起研究下(參考百度的)。&

    這次給大家帶來JS實現520表白代碼案例分析,JS實現520表白代碼的注意事項有哪些,下面就是實戰案例,一起來看一下。

    這兩天不知道咋了,迷迷糊糊的,突然知道今天是520的我,急急忙忙趕出個程序(新手,代碼有點亂),發出來大家一起研究下(參考百度的)。

    <!DOCTYPE html>
    <html>
     <head>
     <meta charset="utf-8">
     <title>520</title>
     <style>
     html, body{padding:0px; margin:0px; background:#222; font-family: 'Karla', sans-serif; color:#FFF; height:100%; overflow:hidden;}
     canvas {width:100%; height:100%;}
     #text,#text_520{font-family:'楷體'; color:rgb(255,255,3); font-size:20px; position:fixed; left:10%; top:10%;}
     #text_520{font-size:100px; top:50%; left:50%;}
     img{position:fixed; top:0; left:0; width:100%;}
     #last{font-size:12px; bottom:10px; left:50%; position:fixed;}
     /*
     @keyframes drop {
     0% { 
     transform: translateY(-100px);
     opacity: 0;
     }
     90% {
     opacity: 1;
     transform:translateY(10px);
     }
     100% {
     transform:translateY(0px;)
     }
     }
     */
     </style>
     </head>
     <body>
     <canvas id="c"></canvas>
     <p id="text"></p>
     <p id="text_520">5 2 0</p>
     <img src="./timg.jpg" class="img" />
     <p id="last">版權所有:李曉珂</p>
     <script type="text/javascript" src="./jquery-1.11.0.min.js"></script>
     <script type="text/javascript">
     function isIE(){
     var u = navigator.userAgent;
     if((u.indexOf("compatible") > -1 && u.indexOf("MSIE") > -1) || (u.indexOf("Trident") > -1 && u.indexOf("rv:11.0") > -1)){
     alert("該瀏覽器暫不支持,請更換瀏覽器");
     window.open('','_self'); 
     window.close();
     }
     var audio = document.createElement("audio");
     audio.setAttribute("src","./520-love.mp3");
     audio.setAttribute("autoplay","autoplay");
     }
     isIE();
     </script>
     <script type="text/javascript">
     var textArr = [
     'I love three things in this world,',
     'the sun ,the moon and you.',
     'The sun for the day,',
     'the moon for the night,',
     'and you forever!',
     '',
     'If you were a teardrop,',
     'in my eye,',
     'for fear of losing you,',
     'I would never cry.',
     'And if the golden sun,',
     'should cease to shine its light,',
     'just one smile from you,',
     'would make my whole world bright.'
     ];
     var text_520 = document.getElementById('text_520');
     var height = (window.innerHeight - text_520.offsetHeight) / 2;
     var width = (window.innerWidth - text_520.offsetWidth) / 2;
     text_520.style.top = height + 'px';
     text_520.style.left = width + 'px';
     $('#text_520').hide();
     $('.img').hide();
     var m = 0;
     var n = 0;
     var text = document.getElementById('text');
     function typing(){
     if(m <= textArr[n].length) {
     text.innerHTML = text.innerHTML.substring(0,text.innerHTML.length-1) + textArr[n].substr(m++,1) + '_';
     setTimeout(typing,250);
     }else {
     if(n < textArr.length-1){
     text.innerHTML = text.innerHTML.substring(0,text.innerHTML.length-1) + "<br />_";
     n++;
     m = 0;
     typing();
     }else {
     text.innerHTML = text.innerHTML.substring(0,text.innerHTML.length-1);
     $('#text').fadeOut(5000);
     setTimeout(function(){$('#text_520').fadeIn(5000);},7000);
     setTimeout(function(){$('#text_520').fadeOut(5000); },7000);
     setTimeout(function(){$('.img').fadeIn(50000);},15000)
     }
     }
     }
     setTimeout(typing,5000);
     var ctx = document.querySelector('canvas').getContext('2d');
     ctx.canvas.width = window.innerWidth;
     ctx.canvas.height = window.innerHeight;
     var sparks = [];
     var fireworks = [];
     var walker;
     fireworks.pop();
     var i = 10;
     while(i--) fireworks.push(new Firework(Math.random()*window.innerWidth, window.innerHeight*Math.random()));
     // setInterval(render, 1000/50);
     render();
     function render() {
     setTimeout(render, 1000/50);
     ctx.fillStyle = 'rgba(0, 0, 0, 0.2)';
     ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
     // 上升效果
     for(var firework of fireworks) {
     if(firework.dead) continue;
     firework.move();
     firework.draw();
     }
     // 綻放效果
     for(var spark of sparks) {
     if(spark.dead) continue;
     spark.move();
     spark.draw();
     }
     if(Math.random() < 0.1) fireworks.push(new Firework());
     //ctx.height = ctx.height;
     }
     function Spark(x, y, color) {
     this.x = x;
     this.y = y;
     this.dir = Math.random() * (Math.PI*2);
     this.dead = false;
     this.color = color;
     this.speed = Math.random() * 3 + 3;
     walker = new Walker({ radius: 20, speed: 0.25 });
     this.gravity = 0.25;
     this.dur = this.speed / 0.15;
     this.move = function() {
     this.dur--;
     if(this.dur < 0) this.dead = true;
     if(this.speed < 0) return;
     if(this.speed > 0) this.speed -= 0.15;
     walk = walker.step();
     this.x += Math.cos(this.dir + walk) * this.speed;
     this.y += Math.sin(this.dir + walk) * this.speed;
     this.y += this.gravity;
     this.gravity += 0.05;
     }
     this.draw = function() {
     drawCircle(this.x, this.y, 2, this.color);
     }
     }
     function Firework(x, y) {
     this.xmove = Math.random()*2 - 1;
     this.x = x || Math.random() * ctx.canvas.width;
     this.y = y || ctx.canvas.height;
     this.height = Math.random()*ctx.canvas.height/2;
     this.dead = false;
     this.color = randomColor();
     this.move = function() {
     this.x += this.xmove;
     if(this.y > this.height) this.y -= 4; 
     else this.burst();
     }
     this.draw = function() {
     drawCircle(this.x, this.y, 3, this.color)
     }
     this.burst = function() {
     this.dead = true
     i = 100; while(i--) sparks.push(new Spark(this.x, this.y, this.color));
     sparks.pop();
     }
     }
     setTimeout(function (){window.open('','_self').close();},175000);
    /*
     // 清除兩個數組
     function clear(){
     if(sparks!=null || fireworks!=null){
     sparks.pop();
     fireworks.pop();
     }
     var sparks = [];
     var fireworks = [];
     }
     setInterval(clear,100);
     */
     function drawCircle(x, y, radius, color) {
     color = color || '#FFF';
     ctx.fillStyle = color;
     ctx.fillRect(x-radius/2, y-radius/2, radius, radius);
     }
     function randomColor(){
     return ['#6ae5ab','#88e3b2','#36b89b','#7bd7ec','#66cbe1'][Math.floor(Math.random() * 5)];
     }
     function Walker(options){
     this.step = function(){
     this.direction = Math.sign(this.target) * this.speed
     this.value += this.direction
     this.target
     ? this.target -= this.direction
     : (this.value)
     ? (this.wander) 
     ? this.target = this.newTarget() 
     : this.target = -this.value
     : this.target = this.newTarget() 
     return this.direction
     }
     this.newTarget = function() {
     return Math.round(Math.random()*(this.radius*2)-this.radius)
     }
     this.start = 0
     this.value = 0
     this.radius = options.radius
     this.target = this.newTarget()
     this.direction = Math.sign(this.target)
     this.wander = options.wander
     this.speed = options.speed || 1
     }
     </script>
     </body>
    </html>

    相信看了本文案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!

    推薦閱讀:

    JavaScript callback回調函數使用案例詳解

    react-navigation使用步驟詳解

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    JS實現520表白代碼案例分析

    JS實現520表白代碼案例分析:這次給大家帶來JS實現520表白代碼案例分析,JS實現520表白代碼的注意事項有哪些,下面就是實戰案例,一起來看一下。這兩天不知道咋了,迷迷糊糊的,突然知道今天是520的我,急急忙忙趕出個程序(新手,代碼有點亂),發出來大家一起研究下(參考百度的)。&
    推薦度:
    標簽: 表白 js 代碼
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 99R在线精品视频在线播放| 国产精品99久久久久久董美香| 成人国内精品久久久久一区| 一区二区三区日韩精品| 亚洲精品成人无码中文毛片不卡| 久久久精品久久久久特色影视| 精品视频无码一区二区三区| 精品伦精品一区二区三区视频| 国产精品怡红院永久免费| 亚洲精品国产V片在线观看| 下载天堂国产AV成人无码精品网站| 国产一区二区三区久久精品| 色久综合网精品一区二区| 成人国产精品免费视频| 中文字幕亚洲精品无码| 国产精品亚洲аv无码播放| 日韩欧美国产精品第一页不卡| 6080亚洲精品午夜福利| 99久久国语露脸精品国产| 午夜精品久久久久久久久| 欧美亚洲成人精品| 国产精品二区观看| 亚洲精品国产成人专区| 国产精品久久久久久福利漫画| 国产一精品一AV一免费| 午夜精品乱人伦小说区| 亚洲日韩精品一区二区三区无码| 国产精品无码无需播放器| 中国大陆精品视频XXXX| 亚洲国产小视频精品久久久三级 | 99久久免费只有精品国产| 国产精品一区二区久久精品| …久久精品99久久香蕉国产| 国语自产精品视频在线区| 久久国产欧美日韩精品 | 国内精品久久久久久99| 精品国产第一国产综合精品| 久久Av无码精品人妻系列| 少妇人妻偷人精品无码视频新浪| 在线观看自拍少妇精品| 无码精品久久久久久人妻中字|