(多个)jQuery的问题会增加
Problems with (multiple) jQuery count up
我现在正在进行计数。目标是在一个页面上显示多个计数。一个带interval()的计数不是问题,但当它达到两个或多个计数时,它将只显示最后一个计数。
计数结构:
-
从
<div value"....."> <div>
获取unix时间戳示例:
<div id=countup value"jan,01,2015, 00:00:00"> <div>
-
使用jQuery将unix时间戳变成一个不错的倒计时。
-
使用
.html()
或.text()
显示页面上的所有计数
Jsfidle.net
希望你能帮我。
你想要这样的东西吗?:
<div class="countup" value="jan,01,2014,00:00:00"></div>
<div class="countup" value="feb,05,2015,13:00:00"></div>
function upTime(element) {
now = new Date();
countTo = new Date(element.getAttribute("value"));
difference = (now-countTo);
days=Math.floor(difference/(60*60*1000*24)*1);
hours=Math.floor((difference%(60*60*1000*24))/(60*60*1000)*1);
mins=Math.floor(((difference%(60*60*1000*24))%(60*60*1000))/(60*1000)*1);
secs=Math.floor((((difference%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1);
element.innerHTML = "It's been " + days + " days " + hours + " hours " + mins + " minutes " + secs + " seconds";
setTimeout(function(){ upTime(element); },1000);
}
var elements = document.getElementsByClassName("countup");
for (var i = 0; i < elements.length; i += 1) {
upTime(elements[i]);
}
jsFiddle:http://jsfiddle.net/6f6c8z4a/1/
输出:
It's been 405 days 13 hours 58 minutes 43 seconds
It's been 5 days 0 hours 58 minutes 43 seconds
需要注意的一点是,setTimeout(.., 1000)
不是每秒运行代码的可靠方法,因为setTimeout
尽了最大努力。在实践中,计时器会很快开始偏斜。您可以考虑更频繁地运行此代码(每100毫秒),也可以忽略偏斜。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- JQuery使计数器每次更改时都会增加
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- (多个)jQuery的问题会增加
- 通过 JavaScript 在 td 中增加数字的问题
- 基本的Javascript问题(增加价值)
- JavaScript 中 Date() 的问题 - 它增加了一个月
- I'我对jquery-ui-resizable有问题.我想在4个相等的间隔内减小和增加宽度
- 如何通过闭包问题来增加全局变量
- HTML范围输入增加/减少值问题
- 关于骨干网和集合的问题以及增加的机制
- textarea's滚动高度增加不一致的问题
- 使用JavaScript增加元素位置的问题
- 灯箱问题,我多次放置相同的链接,图像数量增加