在網頁設計中,炫酷的效果總是讓人印象深刻。其中,代碼雨是一種非常有趣的視覺效果,在網頁中加入這種效果可以給用戶留下深刻的印象。
HTML中的Canvas元素可以用來創建動畫效果。CodePen上有很多實現代碼雨的HTML、CSS和JavaScript代碼可以使用,我們可以在這些代碼的基礎上進行修改,實現自己的效果。
canvas { position: absolute; top: 0; left: 0; z-index: -1; } var canvas = document.querySelector('canvas'), context = canvas.getContext('2d'), drops = [], dropCount = 100, dropCounter = 0, cx = 0, cy = 0; function setup() { resize(); } function resize() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; } function drop(x, y, w) { this.x = x; this.y = y; this.w = w; } function draw() { context.clearRect(0, 0, canvas.width, canvas.height); for (var i = 0; i< drops.length; i++) { if (drops[i].y >= canvas.height) { drops[i].y = -150; } context.beginPath(); context.moveTo(drops[i].x, drops[i].y); context.lineTo(drops[i].x + drops[i].w / 5, drops[i].y + 10 + Math.random() * 20); context.strokeStyle = '#0F0'; context.lineWidth = 1; context.stroke(); drops[i].y += Math.random() * 8; } dropCounter++; if (dropCounter % 5 == 0 && drops.length< dropCount) { drops.push(new drop(cx, cy, Math.random() * 40 + 10)); } } function loop() { window.requestAnimationFrame(loop); draw(); } setup(); loop();
上面的代碼使用Canvas創建了一個透明的畫布,然后在畫布上繪制了一個動態的、隨機的垂直線條。
這里使用了JavaScript的requestAnimationFrame()方法來控制畫布的刷新速度。使用這個方法可以減少CPU負荷,提高性能。
如果您想要實現自己的代碼雨效果,可以嘗試修改上面的代碼或者在CodePen上尋找其他代碼進行修改。
上一篇html炫酷煙花特效代碼
下一篇vue生成word文件