canvas螞蟻線效果程式碼例項
分享一段程式碼例項,它利用canvas實現了螞蟻線效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> canvas { width: 500px; height: 200px; } </style> <script> window.onload = function () { const canvas = document.getElementsByTagName('canvas')[0]; const ctx = canvas.getContext('2d'); let options = { split: 10, length: 15, y: 50, lineColor: "#FF6F00", maxLength: 100, margin: 20, fontSize: 12, text: "螞蟻部落" } startDraw(options); function startDraw(s) { s.canvasWidth = canvas.width; var textOptions = { text: s.text, fontSize: s.fontSize, fontFamily: s.fontFamily } ctx.font = s.fontSize + "px " + s.fontFamily; var textWidth = ctx.measureText(s.text).width; var textX = (s.canvasWidth - textWidth) / 2; ctx.fillText(s.text, textX, s.y + s.fontSize / 2); var lineTo = { y: s.y, lineColor: s.lineColor, split: s.split, length: s.length, maxLength: s.maxLength, } var lineToL = { x: textX - s.margin, startX: textX - s.margin, direction: -1 } Object.assign(lineToL, lineTo); drawRowLine(lineToL); var lineToR = { x: textX + textWidth + s.margin, startX: textX + textWidth + s.margin, direction: 1 } Object.assign(lineToR, lineTo); drawRowLine(lineToR); } function drawRowLine(s) { ctx.moveTo(s.x, s.y); s.x = s.x + s.length * s.direction; ctx.lineTo(s.x, s.y); ctx.strokeStyle = s.lineColor; ctx.stroke(); s.x = s.x + s.split * s.direction; if (Math.abs(s.startX - s.x) < s.maxLength) { drawRowLine(s); } } } </script> </head> <body> <canvas></canvas> </body> </html>
實現了簡單的繪製螞蟻線的效果,比較簡單。
更多canvas內容可以參閱canvas教程板塊。
相關文章
- canvas載入效果程式碼例項Canvas
- canvas原型鐘錶效果程式碼例項Canvas原型
- canvas氣泡上浮效果程式碼例項Canvas
- canvas繪製箭頭效果程式碼例項Canvas
- canvas繪製拋物線程式碼例項Canvas線程
- canvas刮刮樂程式碼例項Canvas
- canvas繪製扇形程式碼例項Canvas
- canvas繪製網格程式碼例項Canvas
- jQuery tab選項卡效果程式碼例項jQuery
- CSS橢圓效果程式碼例項CSS
- canvas繪製機器貓程式碼例項Canvas
- canvas translate()、scale()和rotate()方法程式碼例項Canvas
- 美化滾動條效果程式碼例項
- css3水滴效果程式碼例項CSSS3
- css背景虛化效果程式碼例項CSS
- canvas繪製圓形鐘錶程式碼例項Canvas
- jQuery點選滑出層效果程式碼例項jQuery
- css3晃動效果程式碼例項CSSS3
- CSS3心形效果程式碼例項CSSS3
- div前後翻轉效果程式碼例項
- 當前文字框高亮效果程式碼例項
- CSS3旋轉效果程式碼例項CSSS3
- 淡入淡出效果簡單程式碼例項
- table細線表格例項程式碼
- CSS3滑過光束效果程式碼例項CSSS3
- CSS3小黃人效果程式碼例項CSSS3
- css3折角效果程式碼例項CSSS3
- CSS3梯形效果程式碼例項CSSS3
- CSS3背景漸變效果程式碼例項CSSS3
- CSS3星系運動效果程式碼例項CSSS3
- canvas漫天飛雪效果程式碼Canvas
- 商品搶購倒數計時效果程式碼例項
- CSS3文字凹凸效果程式碼例項CSSS3
- html實現簡單ListViews效果的例項程式碼HTMLView
- html5 canvas 實現光線沿不規則路徑運動例項程式碼HTMLCanvas
- CSS3文字陰影效果程式碼例項CSSS3
- canvas 例項之鬧鐘Canvas
- jQuery記住使用者名稱和密碼效果程式碼例項jQuery密碼
- 2024.08.28螞蟻