Toggle navigation
在線編輯器
在線代碼
文本比較
jQuery下載
前端庫
在線手冊
微博
注冊/登錄
(current)
×
登 錄
UI
|
輸入
|
媒體
|
導航
|
其他
|
網頁模板
|
APP模板
|
常用代碼
|
在線代碼
|
DevOps
背景
對話框和燈箱
篩選及排序
反饋
彈出層
懸停
布局
圖表
加載
圓邊
滾動
標簽
文本鏈接
工具提示
網絡類型
拾色器
定制和風格
日期和時間
拖和放
通用輸入
自動完成
密碼
投票率
搜索
選擇框
快捷鍵
觸摸
豐富的輸入
上傳
驗證
音頻和視頻
幻燈片和輪播圖
圖片展示
圖像
地圖
滑塊和旋轉
Tabs
水平導航
垂直導航
文件樹
分頁
手風琴菜單
其他導航
動畫效果
瀏覽器調整
移動
獨立的部件
雜項
游戲
PROMULGATOR
豬大何
廣東省深圳市
關注作者
(1)
收藏此代碼
(6)
← jq紅包雨動畫
→ 純css3圖片旋轉
相關代碼
canvas
炫酷
時鐘
canvas
時鐘
效果
滾動
數字
時鐘
canvas
時鐘
效果
時鐘
標簽
canvas
canvas
時鐘
|時間
canvas
時鐘
Html
Css
Js
var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext('2d'); canvas.height = 100; ctx.fillStyle = "#fff"; var dianMap = [ [ [0, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 0], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [0, 1, 1, 0, 1, 1, 0], [0, 0, 1, 1, 1, 0, 0] ], //0 [ [0, 0, 0, 1, 1, 0, 0], [0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0], [1, 1, 1, 1, 1, 1, 1] ], //1 [ [0, 1, 1, 1, 1, 1, 0], [1, 1, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 1, 1, 0, 0], [0, 0, 1, 1, 0, 0, 0], [0, 1, 1, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1] ], //2 [ [1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [0, 1, 1, 1, 1, 1, 0] ], //3 [ [0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0], [0, 1, 1, 0, 1, 1, 0], [1, 1, 0, 0, 1, 1, 0], [1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 1, 1, 1, 1] ], //4 [ [1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 0], [0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [0, 1, 1, 1, 1, 1, 0] ], //5 [ [0, 0, 0, 0, 1, 1, 0], [0, 0, 1, 1, 0, 0, 0], [0, 1, 1, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 0], [1, 1, 0, 1, 1, 1, 0], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [0, 1, 1, 1, 1, 1, 0] ], //6 [ [1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 1, 1], [0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 1, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0], [0, 0, 1, 1, 0, 0, 0], [0, 0, 1, 1, 0, 0, 0], [0, 0, 1, 1, 0, 0, 0], [0, 0, 1, 1, 0, 0, 0] ], //7 [ [0, 1, 1, 1, 1, 1, 0], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [0, 1, 1, 1, 1, 1, 0], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [0, 1, 1, 1, 1, 1, 0] ], //8 [ [0, 1, 1, 1, 1, 1, 0], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1], [0, 1, 1, 1, 0, 1, 1], [0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, 0] ], //9 [ [0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0] ] //: ]; let data = [], balls = [], change = [], R = canvas.height / 20 - 1, time; canvas.width = 14 * (R + 2) * 8 - (R + 2) * 2; (() => { let tempDate = /(\d)(\d):(\d)(\d):(\d)(\d)/.exec(new Date()); data.push(tempDate[1], tempDate[2], 10, tempDate[3], tempDate[4], 10, tempDate[5], tempDate[6]) })(); //生成點陣數據 function renderDigit(i, num) { for (let index = 0; index < dianMap[num].length; index++) { for (let j = 0; j < dianMap[num][index].length; j++) { if (dianMap[num][index][j] === 1) { ctx.beginPath(); ctx.arc(14 * (R + 2) * i + j * 2 * (R + 1) + (R + 1), index * 2 * (R + 1) + (R + 1), R, 0, 2 * Math.PI); ctx.closePath(); ctx.fill(); } } } } // 更新時間 function updateTime() { let newDate = /(\d)(\d):(\d)(\d):(\d)(\d)/.exec(new Date()); let tempData = [newDate[1], newDate[2], 10, newDate[3], newDate[4], 10, newDate[5], newDate[6]] // debugger; for (let i = 0; i < data.length; i++) { if (data[i] != tempData[i]) { // clearDigit(i); showBalls(i, tempData[i]); renderDigit(i, tempData[i]); } } data = tempData.concat(); // requestAnimationFrame(updateTime); } //繪制彩球 function showBalls(index, num) { for (let i = 0; i < dianMap[num].length; i++) { for (let j = 0; j < dianMap[num][i].length; j++) { if (dianMap[num][i][j] === 1) { let ball = { x: 14 * (R + 2) * index + j * 2 * (R + 1) + (R + 1), y: i * 2 * (R + 1) + (R + 1), setpX: Math.random() * 2 - 1, setpY: -2 * (Math.random() + 1), color: getRadomColor() } balls.push(ball); } } } } //讓球球動起來 function animateBalls() { for (let i = 0; i < balls.length; i++) { const item = balls[i]; item.setpY += 9.8 * 6 / 100; item.x += item.setpX; item.y += item.setpY; ctx.beginPath(); ctx.arc(item.x, item.y, R, 0, 2 * Math.PI); ctx.fillStyle = balls[i].color; ctx.closePath(); ctx.fill(); if (item.x > canvas.width + R || item.y > canvas.height + R) { balls.splice(i, 1); i--; } } } //初始化點陣 function initRender() { canvas.height = canvas.height; for (let i = 0; i < data.length; i++) { // debugger; renderDigit(i, data[i]); } updateTime(); animateBalls(); requestAnimationFrame(initRender); } function getRadomColor() { let colorBox = ['#67C23A', '#E6A23C', '#F56C6C', '#409EFF']; // let R = 255*Math.random(), // G = 255*Math.random(), // B = 255*Math.random(); return colorBox[~~(Math.random() * colorBox.length)]; } initRender();
↑上面代碼改變,會自動顯示代碼結果 jQuery調用版本:
1.11.3
立即下載
canvas點陣時鐘
代碼描述:canvas繪制數字點陣時鐘
内蒙古十一选五的走势图百度乐彩网
www.cyiqh.com 更新時間:2019-11-25 09:56:27
利用數字矩陣實現點陣效果
0
最新
發表評論
全部評論
暫時沒有評論!
登錄后才可以評論
30秒后在評論吧!
發表評論
回復
取消回復
<!doctype html> <html> <head> <meta charset="utf-8"> <title>canvas點陣時鐘-www.cyiqh.com</title> <script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
版權聲明
在線反饋
廣告合作
網頁技術
jq22工具庫
jquery插件
2012-2019 jQuery插件庫版權所有. 備案號:
内蒙古十一选五的走势图百度乐彩网
浙公網安備 33041102000314號