javascript - 如何多次调用javascript
问题描述
我有一个 js 脚本,可以倒计时获取 div 的数据属性。我的问题是我在同一页面中有很多 div,我希望看到每个 div 都有自己的倒计时。我尝试使用 for 循环来迭代每个标签,但是出了点问题。
var x = document.getElementsByClassName("countdown_ele");
var i;
for (i = 0; i < x.length; i++) {
var seconds = x[i].dataset.timer;
function timer() {
var days = Math.floor(seconds / 24 / 3600);
var hoursLeft = Math.floor((seconds) - (days * 86400));
var hours = Math.floor(hoursLeft / 3600);
var minutesLeft = Math.floor((hoursLeft) - (hours * 3600));
var minutes = Math.floor(minutesLeft / 60);
var remainingSeconds = seconds % 60;
function pad(n) {
return (n < 10 ? "0" + n : n);
}
x[i].innerHTML = pad(days) + ":" + pad(hours) + ":" + pad(minutes) + ":" + +pad(remainingSeconds);
if (seconds == 0) {
clearInterval(countdownTimer);
x[i].innerHTML = "Completed";
} else {
seconds--;
}
}
var countdownTimer = setInterval('timer()', 1000);
}
<div class="countdown_ele" data-timer="30"></div>
解决方案
推荐阅读
- c++ - C++ 和读取大型 txt 文件
- javascript - js/leafletjs表格显示属性
- c++ - 谷物似乎没有正确序列化 std::string
- jupyter-notebook - 由于缺少内存,我逐步训练模型,其中 keras 支持通过 fit_generator() 函数逐步加载数据集
- flutter - 如何修复未处理的异常:NoSuchMethodError:在 null Flutter Firestore 上调用了方法“[]”
- django - 如何获取查询集中所有对象的所有相关对象?
- r - 使用 ggplot 将文本制作为新罗马字体时出现问题
- java - 在本机图像之前使用 Proguard 进行 Java 混淆?
- android - 冻结 .NET MAUI Blazor 应用程序的命令行构建
- jenkins-pipeline - 批处理文件未在詹金管道中执行