好。我有不同的span
并将其id
属性设置为Y-m-d格式的日期。我使用倒计时js来计算每个跨度倒计时,但我的函数只选择一个日期并对其应用倒计时。它没有评估其他日期的倒计时。
<span class="timer" id="2017-10-1"></span>
<span class="timer" id="2017-10-2"></span>
<span class="timer" id="2017-10-3"></span>
<span class="timer" id="2017-10-4"></span>
这是倒计时jquery
http://hilios.github.io/jQuery.countdown/
以及我在函数中写的内容。
$(document).ready(function () {
var time = $(".timer").attr('id');
var timeLeft = time.split('-').reverse().join('-');
$(".timer").countdown(timeLeft, function (event) {
$(this).text(event.strftime("%D days %H hours %M minutes %S seconds remaining"));
});
});
答案 0 :(得分:1)
.attr('key')
将仅获取第一个元素的值,因此将根据第一个元素计算timeLeft
。
使用.each()
迭代$(".timer")
对象,并在元素上单独应用插件countdown()
。
$(document).ready(function(){
$(".timer").each(function(){
var time = this.id;
var timeLeft = time.split('-').reverse().join('-');
$(this).countdown(timeLeft, function(event){
$(this).text(event.strftime("%D days %H hours %M minutes %S seconds remaining"));
});
})
});
答案 1 :(得分:0)
我认为你需要的是使用.each:https://api.jquery.com/each/
可能看起来像这样:
make rt/librt.a
这是因为您需要使用相同的类迭代所有元素,您可以使用.each()轻松完成此任务。
希望它有所帮助!
答案 2 :(得分:0)
每当您需要将元素特定数据应用于该元素的插件选项时,迭代该集合,以便您可以隔离each
循环内的特定元素实例。然后获取该元素特定数据并传入单个元素插件初始化选项
$(".timer").each(function()
// "this" is specific element instance
var time = this.id;
var timeLeft = time.split('-').reverse().join('-');
$(this).countdown(timeLeft, function(event) {
$(this).text(event.strftime("%D days %H hours %M minutes %S seconds remaining"));
});
});