520 简单表白代码(JS)

这两天不知道咋了,迷迷糊糊的,突然知道今天是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>

        <div id="text"></div>

        <div id="text_520">5 2 0</div>

        <img src="./timg.jpg" class="img" />

        <div id="last">版权所有:李晓珂</div>

        <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>

原文地址:https://www.cnblogs.com/Super-Lee/p/9064206.html

时间: 2024-10-17 22:16:57

520 简单表白代码(JS)的相关文章

js日期格式简单转换代码

js日期格式简单转换代码: 未经修饰的东西总是狂野粗糙的,比如人没有经过良好的教育,这人可能会有各种问题,同样js中的时间格式也是如此,所以要对时间进行一定的格式化操作,下面是一段非常简单的代码实例和大家分享一下. 代码如下: function dateStr(x,y) { var z={ y:x.getFullYear(), M:x.getMonth()+1, d:x.getDate(), h:x.getHours(), m:x.getMinutes(), s:x.getSeconds() }

[JavaScript] js实现简单的代码运行框

<script type="text/javascript">// <![CDATA[ function runCode(obj) { var winname = window.open('', "_blank", ''); winname.document.open('text/html', 'replace'); winname.document.write(obj.value); winname.document.close(); } //

js简单抽奖代码

年底了各个公司都有抽奖活动,我也写了一个超级简单的代码来实现抽奖效果,这里没有华丽的Css3效果,但却有短小精悍的js代码.核心:js的Math对象和Array对象 code: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>random</title> 6 <style>

JS Map 和 List 的简单实现代码

javascript中是没有map和list 结构的. 本篇文章是对在JS中Map和List的简单实现代码进行了详细的分析介绍,需要的朋友参考下 代码如下: /* * MAP对象,实现MAP功能 * * 接口: * size()     获取MAP元素个数 * isEmpty()    判断MAP是否为空 * clear()     删除MAP所有元素 * put(key, value)   向MAP中增加元素(key, value)  * remove(key)    删除指定KEY的元素,成

可以固定的顶部的导航菜单简单实例代码

可以固定的顶部的导航菜单简单实例代码:固定于网页顶部的导航栏效果在当下网站比较流行,所谓的固定于网页的顶部一般来说并不是一直固定于顶部,而是在开始是位于某一个位置,当下拉滚动条使其到达顶部的时候才会固定在顶部,下面通过代码实例介绍一下如何实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" con

【转】简单了介绍js中的一些概念(词法结构) 和 数据类型(部分)。

1 , javascript字符集: javascript采用的是Unicode字符集编码. 为什么要采用这个编码呢? 原因很简单,16位的Unicode编码可以表示地球人的任何书面语言.这是语言 国际化的一个重要特征.(大家也许见过用中文写脚本,比如:function 我的函数() {} ); Javascript中每个字符都是用2个字节表示的.(因为是16位编码) 2 ,大小写敏感: js是一种区分大小写的语言. 注意下:以前我也犯过的错误. HTML是不区分大小写的.经常看见有人这么写, 

ul、li列表简单实用代码实例

ul.li列表简单实用代码实例: 利用ul和li可以实现列表效果,下面就是一个简单的演示. 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <title>蚂蚁部落</title> &

520你表白了没?看看程序员们的花式表白吧!

5.20 在即,程序猿们,准备好向你的女神表白了吗? 玫瑰 ?? ?巧克力 ?? ?情书 ?? ? 还记得那种经典的至尊宝式表白吗?--曾经有一段真挚的爱情放在我的面前,我没有珍惜.直到失去我才追悔莫急.如果上天再给我一次机会的话,我一定会对那个女孩说三个字"我爱你".如果一定要给这个承诺加上一个期限的话,我希望是"一万年".煽情的情话留给最爱的人,表白的不是你的礼物而是自己的一份真心,"千言万语无尽处,情到深处自然浓". 当然以上均为普通青年的

java:Spring框架1(基本配置,简单基础代码实现)

1.基本配置: 步骤一:新建项目并添加spring依赖的jar文件和commons-logging.xx.jar: 步骤二:编写实体类,DAO及其实现类,Service及其实现类; 步骤三:在src下新建配置文件applicationContext.xml,并配置bean节点和property: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springfr