canvas模擬彈幕效果程式碼例項
關於彈幕效果大家一定不會陌生,現在各大視訊網站基本都實現了這樣的功能。
有效增強了互動效果,下面就分享一段程式碼例項,它使用canvas實現了此功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> * { margin: 0; padding: 0; list-style: none; border: 0; } body { background: #bcbcbc; } .main { width: 600px; height: 400px; margin: 0 auto; position: relative; } .main img { position: absolute; right: 0; bottom: 0; width: 100px; height: 100px; } #canvas { display: block; background: #000; } </style> </head> <body> <div class="main"> <canvas id="canvas"></canvas> </div> <script type="text/javascript"> var canvas = document.getElementById('canvas'); var ctx = canvas.getContext("2d"); var width = 600; var height = 400; //宣告顏色陣列使每句話顏色都不一樣! var colorArr = ["yellow", "pink", "orange", "red", "green"]; var textArr = [ "螞蟻部落歡迎您", "只有努力才會有美好的未來", "div教程真的不錯", "正規表示式教程還需要完善", "css3教程的演示效果很好", "每一天都是新的大家好好珍惜" ] canvas.width = width; canvas.height = height; ctx.font = "20px Courier New"; //初始的每一句話的左邊距離canvas左邊的距離 var numArrL = [80, 100, 5, 300, 500, 430]; //初始的每一句話的上邊距離canvas上邊的距離 var numArrT = [80, 100, 20, 300, 380, 210]; setInterval(function () { //清理一下canvas畫布 ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.save(); //這個迴圈是迴圈便利每一句到話canvas上以及的顏色,每句話的移動速度 //判斷每一句話走出canvas後讓它自動回來再從canvas的右邊走到左邊 for (var j = 0; j < textArr.length; j++) { numArrL[j] -= (j + 1) * 0.6; ctx.fillStyle = colorArr[j] ctx.fillText(textArr[j], numArrL[j], numArrT[j]); if (numArrL[j] <= -500) { numArrL[j] = canvas.width; } } ctx.restore(); }, 30) </script> </body> </html>
相關文章
- canvas實現的彈力小球效果程式碼例項Canvas
- 模擬發放紅包效果程式碼例項
- canvas火焰效果程式碼例項Canvas
- javascript模擬實現ArrayList效果程式碼例項JavaScript
- canvas字母雨效果程式碼例項Canvas
- canvas載入效果程式碼例項Canvas
- canvas擺動效果程式碼例項Canvas
- js模擬實現alert()函式彈出警告視窗效果程式碼例項JS函式
- js模擬實現多型效果程式碼例項JS多型
- css模擬實現雙擊效果程式碼例項CSS
- 模擬實現連結title效果程式碼例項
- canvas水位進度效果程式碼例項Canvas
- canvas原型鐘錶效果程式碼例項Canvas原型
- canvas氣泡上浮效果程式碼例項Canvas
- canvas田字格效果程式碼例項Canvas
- canvas繪製圓環效果程式碼例項Canvas
- canvas螞蟻線效果程式碼例項Canvas
- 模擬實現文字框游標效果程式碼例項
- javascript模擬實現滾動條效果程式碼例項JavaScript
- jQuery模擬支付寶密碼輸入效果程式碼例項jQuery密碼
- canvas繪製箭頭效果程式碼例項Canvas
- canvas繪製夜空小屋效果程式碼例項Canvas
- canvas流星劃過星空效果程式碼例項Canvas
- canvas繪製鐘錶效果程式碼例項Canvas
- canvas繪製橢圓效果程式碼例項Canvas
- javascript模擬實現連結的title效果例項程式碼JavaScript
- css3和js模擬翻頁效果程式碼例項CSSS3JS
- CSS3彈球效果程式碼例項CSSS3
- canvas實現的驗證碼效果程式碼例項Canvas
- canvas繪製魚吃豆效果程式碼例項Canvas
- canvas實現煙花燃放效果程式碼例項Canvas
- canvas繪製雪花飄落效果程式碼例項Canvas
- canvas實現的鋸齒效果程式碼例項Canvas
- canvas實現的鐘表效果程式碼例項Canvas
- 利用canvas實現的驗證碼效果程式碼例項Canvas
- canvas實現的雪花飄落效果程式碼例項Canvas
- canvas實現的藍色雨滴效果程式碼例項Canvas
- JavaScript彈幕效果程式碼詳解JavaScript