在侧边栏添加一个动态时钟

在侧边栏添加一个动态时钟

这是一个基于HTML和JavaScript的教程,教你如何在网页的侧边栏增加一个炫酷的动态数字时钟。

步骤如下:

1. 打开joe后台侧边栏设置

找到你需要放置时钟的自定义侧边栏部分,在适当的位置插入以下代码块:

 <!-- 侧栏时钟开始 -->
  <div class="card-content">
    <canvas id="canvas" style="width:100%;background-color: white;" width="820" height="250"></canvas>
    <script>
        (function () { var t = 820; var a = 250; var r = 7; var n = 10; var e = .65; var f; var o = []; const v = ["#33B5E5", "#0099CC", "#AA66CC", "#9933CC", "#99CC00", "#669900", "#FFBB33", "#FF8800", "#FF4444", "#CC0000"]; var h = []; var u = [[[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, 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]], [[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]], [[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]], [[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]], [[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]], [[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]], [[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]], [[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]], [[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]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 1, 0], [0, 1, 1, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 1, 0], [0, 1, 1, 0], [0, 0, 0, 0], [0, 0, 0, 0]]]; function l(t) { var a = []; f.fillStyle = "#005EAC"; var r = new Date; var e = 70, o = 30; var v = r.getHours(); var u = Math.floor(v / 10); var l = v % 10; a.push({ num: u }); a.push({ num: l }); a.push({ num: 10 }); var c = r.getMinutes(); var u = Math.floor(c / 10); var l = c % 10; a.push({ num: u }); a.push({ num: l }); a.push({ num: 10 }); var M = r.getSeconds(); var u = Math.floor(M / 10); var l = M % 10; a.push({ num: u }); a.push({ num: l }); for (var p = 0; p < a.length; p++) { a[p].offsetX = e; e = m(e, o, a[p].num, t); if (p < a.length - 1) { if (a[p].num != 10 && a[p + 1].num != 10) { e += n } } } if (h.length == 0) { h = a } else { for (var C = 0; C < h.length; C++) { if (h[C].num != a[C].num) { s(a[C]); h[C].num = a[C].num } } } i(t); g(); return r } function s(t) { var a = t.num; var n = u[a]; for (var e = 0; e < n.length; e++) { for (var f = 0; f < n[e].length; f++) { if (n[e][f] == 1) { var h = { offsetX: t.offsetX + r + r * 2 * f, offsetY: 30 + r + r * 2 * e, color: v[Math.floor(Math.random() * v.length)], g: 1.5 + Math.random(), vx: Math.pow(-1, Math.ceil(Math.random() * 10)) * 4 + Math.random(), vy: -5 }; o.push(h) } } } } function i(t) { for (var a = 0; a < o.length; a++) { t.beginPath(); t.fillStyle = o[a].color; t.arc(o[a].offsetX, o[a].offsetY, r, 0, 2 * Math.PI); t.fill() } } function g() { var n = 0; for (var f = 0; f < o.length; f++) { var v = o[f]; v.offsetX += v.vx; v.offsetY += v.vy; v.vy += v.g; if (v.offsetY > a - r) { v.offsetY = a - r; v.vy = -v.vy * e } if (v.offsetX > r && v.offsetX < t - r) { o[n] = o[f]; n++ } } for (; n < o.length; n++) { o.pop() } } function m(t, a, n, e) { var f = u[n]; for (var o = 0; o < f.length; o++) { for (var v = 0; v < f[o].length; v++) { if (f[o][v] == 1) { e.beginPath(); e.arc(t + r + r * 2 * v, a + r + r * 2 * o, r, 0, 2 * Math.PI); e.fill() } } } e.beginPath(); t += f[0].length * r * 2; return t } var c = document.getElementById("canvas"); c.width = t; c.height = a; f = c.getContext("2d"); var M = new Date; setInterval(function () { f.clearRect(0, 0, f.canvas.width, f.canvas.height); l(f) }, 50) })();
    </script>
  </div>
  <!-- 侧栏时钟结束 -->

2. 理解并复制JavaScript代码

将提供的JavaScript代码块粘贴在 <script> 标签内。这段代码定义了一个自定义数字时钟,它使用HTML5的Canvas元素来动态渲染数字,并通过动画效果展示当前时间。

3. 代码解释

  • var t = 820; var a = 250; 定义了画布的宽度和高度。
  • l() 函数负责获取当前时间并将其转换为数字数组,然后调用其他辅助函数来绘制数字和粒子动画。
  • s()i(), 和 g() 函数分别用于创建、绘制静态数字以及处理粒子动画的运动逻辑。
  • 最后,通过setInterval定时器每50毫秒刷新一次时钟显示。

4. 运行和测试

在浏览器中打开修改后的HTML文件,你应该能在侧边栏看到一个动态显示当前时间的炫酷时钟。

请根据你的网站设计调整画布大小和其他参数,以保证时钟与整体页面风格协调一致。



微信扫描下方的二维码阅读本文

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容