美文网首页
2018-09-21 js文字坠落

2018-09-21 js文字坠落

作者: 小本YuDL | 来源:发表于2018-09-21 22:49 被阅读26次

看下效果吧。从上往下,文字坠落伴随颜色的变化。

image.png
image.png

看下代码:

<style>
        *{
            margin: 0;
            padding: 0;
        }
        body{
            background-color: black;
        }
        #container{
            width: 100%;
            height: 100%;

        }
    </style>
<body>
   <canvas id="container"></canvas>
</body>
<script>
    var canvas = document.getElementById("container");
    canvas.width = window.innerWidth;
    canvas.height =window.innerHeight;
    var ctx = canvas.getContext("2d");
    var mystyle = "高高是个聪明美丽风度翩翩倾国倾城国色天香
机智勇敢肤白貌美的大长腿无与伦比的小阔爱";
    mystyle = mystyle.split("");//分割成数组
    var font_size = 15;
    var cul = Math.floor(canvas.width/font_size);//计算每行多少列
    console.log(cul);
    var drops = [];
    for(var i =0;i<cul;i++)
        drops[i] = 1;
    console.log(drops);
    function draw() {
        ctx.fillStyle = "rgba(0, 0, 0, 0.03)"; //填充色
        ctx.fillRect(0, 0, canvas.width, canvas.height); //绘制
        for(var i = 0;i<drops.length;i++){
            var text = mystyle[Math.floor(Math.random()*mystyle.length)];
            //数组中随机开始的字
            var gradient =ctx.createLinearGradient(0,0,0,canvas.height); 
            //渐变色,从0到屏幕长度
            gradient.addColorStop("0","green");
            gradient.addColorStop("0.5","blue");
            gradient.addColorStop("1","magenta");
            ctx.fillStyle = gradient;//填充颜色为渐变色
            ctx.font = font_size+'px arial';
            //填充文本,开始绘制x坐标(宽度),y坐标(长度)
            ctx.fillText(text, i*font_size ,drops[i]*font_size );
         
            if (drops[i]* font_size > canvas.height && Math.random() > 0.975)//停止条件
                drops[i]= 0; //长度为0
            drops[i]++; //长度变长
        }
    }
    setInterval(draw,50);
</script>

相关文章

  • 2018-09-21 js文字坠落

    看下效果吧。从上往下,文字坠落伴随颜色的变化。 看下代码:

  • JS里的数据类型

    title: JS里的数据类型date: 2018-09-21 22:47:16tags: [JavaScript...

  • Three.js中文文档

    Threejs中文文档 郭隆邦技术博客 2018-09-21 20:40:17 关注 Three.js中文文档 今...

  • Vue-06-xiaoming

    2018-09-21 关于Vue.js里的子传父:其原理是用事件传(用emit('自定义事件',参数)。举例如下:...

  • js文字转拼音(Convert_Pinyin.js)

    js文字转拼音 Convert_Pinyin.js 事例

  • 坠落、坠落、坠落

    坠落坠落坠落,直到被一只手托着。 我以为我会被那个执着的念头击垮,它洋洋得意地说:没面子了吧?踢钢板了吧?吃苦头了...

  • 2018-09-21 Angular.js

    1.什么是abngular? 基于javascript开发的客户端应用框架,,使我们可以更加快捷,简单的开发web...

  • 文字特效

    18种基于anime.js的文字动画特效效果演示CSS3文字烟雾散开动画特效canvas+原生js实现立体式文字变...

  • void *obj = &cls;

    以上打印结果是: 2018-09-21 02:59:04.711416+0800 WxPay[82898:5732...

  • 坠落,有坠落

    越来越陷入到这泥潭中,大学前认识的人都在进步,而自己却像是原地踏步,又像是在坠落。坠落还不着边,不觉痛。 大学同学...

网友评论

      本文标题:2018-09-21 js文字坠落

      本文链接:https://www.haomeiwen.com/subject/nbdegftx.html