javascript - 比更改类名的开关更好的解决方案

标签 javascript

我创建了一个时钟,连接到 date().getHours/minutes/Seconds 显示的图像嵌入到不同的类中。

现在,当我想更改图像时,我每隔一分钟和几小时写一个开关.. 那可能比谷歌引擎更多的代码。所以我想知道是否有更简单的解决方案。

这是小时开关的一些代码 所以当时钟到达第 15 分钟时,它会将 className 更改为一和五。

switch(h){

        case 15:
            x = hours.appendChild(hour1).className = "clock-digit-one";
            x = hours.appendChild(hour2).className = "clock-digit-five";
            break
        case 16:
            x = hours.appendChild(hour1).className = "clock-digit-one";
            x = hours.appendChild(hour2).className = "clock-digit-six";
            break

        default:
            x = hours.appendChild(hour1).className = "clock-digit-zero";
            x = hours.appendChild(hour2).className = "clock-digit-zero";

    }

我创建了一个显示更多代码的 jsFiddle。 任何提示都会很棒。 http://jsfiddle.net/Xk49c/2/

谢谢

最佳答案

创建一个人类可读数字数组:

var digits = ["zero", "one", "two", ..., "nine"];

h分解为第一位和第二位:

var hours = Math.floor(h / 10);
var minutes = h % 10;

索引到 digits 以确定您应该使用的类名:

hours.appendChild(hour1).className = "clock-digit-" + digits[hours];
hours.appendChild(hour2).className = "clock-digit-" + digits[minutes];

关于javascript - 比更改类名的开关更好的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14777047/

相关文章:

javascript - 带有 JavaScript 的 ffmpeg 缩略图

javascript - Sequelize ORM npm -- node.js 中如何实现缓存机制

javascript - 如何使用 jquery 追加整个 html 文件

javascript - 透明/不透明导航栏在 "div"后面,类为 "transbox"

javascript - 绘制分形时迭代更改 Canvas 中的 fillStyle 颜色

php - Jquery 可排序,未定义数量的列表

javascript - 如何在 v-app 外部单击时关闭 v-select?

javascript - 设置方法为 Post 但当提交为 form.submit() 时,它发送 GET 请求而不是 POST

javascript - Android webView,正确显示CSS

javascript - 在 D3.js 中为多个小条形图下的轴绘制单独的域