最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實(shí)現(xiàn)代碼雨特效

 更新時(shí)間:2022年01月16日 15:41:45   作者:木子歡兒  
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)代碼雨特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了JS實(shí)現(xiàn)代碼雨特效的具體代碼,供大家參考,具體內(nèi)容如下

html代碼

<canvas id="code_rain_canvas" width="1440" height="900"></canvas>

js 代碼

window.onload = function() {
? ? ? ? ?//獲取畫(huà)布對(duì)象
? ? ? ? ?var canvas = document.getElementById("code_rain_canvas");
? ? ? ? ?//獲取畫(huà)布的上下文
? ? ? ? ?var context = canvas.getContext("2d");
? ? ? ? ?var s = window.screen;
? ? ? ? ?var W = canvas.width = s.width;
? ? ? ? ?var H = canvas.height;
? ? ? ? ?//獲取瀏覽器屏幕的寬度和高度
? ? ? ? ?//var W = window.innerWidth;
? ? ? ? ?//var H = window.innerHeight;
? ? ? ? ?//設(shè)置canvas的寬度和高度
? ? ? ? ?canvas.width = W;
? ? ? ? ?canvas.height = H;
? ? ? ? ?//每個(gè)文字的字體大小
? ? ? ? ?var fontSize = 12;
? ? ? ? ?//計(jì)算列
? ? ? ? ?var colunms = Math.floor(W / fontSize);
? ? ? ? ?//記錄每列文字的y軸坐標(biāo)
? ? ? ? ?var drops = [];
? ? ? ? ?//給每一個(gè)文字初始化一個(gè)起始點(diǎn)的位置
? ? ? ? ?for (var i = 0; i < colunms; i++) {
? ? ? ? ? ? ?drops.push(0);
? ? ? ? ?}
? ? ? ? ?//運(yùn)動(dòng)的文字
? ? ? ? ?var str = "WELCOME TO WWW.ITRHX.COM";
? ? ? ? ?//4:fillText(str,x,y);原理就是去更改y的坐標(biāo)位置
? ? ? ? ?//繪畫(huà)的函數(shù)
? ? ? ? ?function draw() {
? ? ? ? ? ? ?context.fillStyle = "rgba(238,238,238,.08)"; //遮蓋層
? ? ? ? ? ? ?context.fillRect(0, 0, W, H);
? ? ? ? ? ? ?//給字體設(shè)置樣式
? ? ? ? ? ? ?context.font = "600 " + fontSize + "px ?Georgia";
? ? ? ? ? ? ?//給字體添加顏色
? ? ? ? ? ? ?context.fillStyle = ["#33B5E5", "#0099CC", "#AA66CC", "#9933CC", "#99CC00", "#669900", "#FFBB33", "#FF8800", "#FF4444", "#CC0000"][parseInt(Math.random() * 10)]; //randColor();可以rgb,hsl, 標(biāo)準(zhǔn)色,十六進(jìn)制顏色
? ? ? ? ? ? ?//寫(xiě)入畫(huà)布中
? ? ? ? ? ? ?for (var i = 0; i < colunms; i++) {
? ? ? ? ? ? ? ? ?var index = Math.floor(Math.random() * str.length);
? ? ? ? ? ? ? ? ?var x = i * fontSize;
? ? ? ? ? ? ? ? ?var y = drops[i] * fontSize;
? ? ? ? ? ? ? ? ?context.fillText(str[index], x, y);
? ? ? ? ? ? ? ? ?//如果要改變時(shí)間,肯定就是改變每次他的起點(diǎn)
? ? ? ? ? ? ? ? ?if (y >= canvas.height && Math.random() > 0.99) {
? ? ? ? ? ? ? ? ? ? ?drops[i] = 0;
? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ?drops[i]++;
? ? ? ? ? ? ?}
? ? ? ? ?};

? ? ? ? ?function randColor() { //隨機(jī)顏色
? ? ? ? ? ? ?var r = Math.floor(Math.random() * 256);
? ? ? ? ? ? ?var g = Math.floor(Math.random() * 256);
? ? ? ? ? ? ?var b = Math.floor(Math.random() * 256);
? ? ? ? ? ? ?return "rgb(" + r + "," + g + "," + b + ")";
? ? ? ? ?}
? ? ? ? ?draw();
? ? ? ? ?setInterval(draw, 35);
? ? ?};

展示效果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

鄂温| 来凤县| 红原县| 额尔古纳市| 密云县| 静海县| 留坝县| 长顺县| 鄄城县| 河北省| 杨浦区| 徐水县| 电白县| 香港| 汾阳市| 栾城县| 鄂托克旗| 陆良县| 红原县| 邵东县| 日喀则市| 罗山县| 当阳市| 拜城县| 搜索| 浑源县| 邯郸市| 藁城市| 晴隆县| 济宁市| 大悟县| 临潭县| 壤塘县| 长阳| 和田县| 曲靖市| 玉屏| 孝感市| 喀什市| 桦川县| 五家渠市|