我正在使用jQuery Keith-Wood插件在我的页面上显示一个倒计时器,它运行正常。
现在我想要显示多个倒计时,但它似乎不起作用(它仅适用于第一个元素)。
这就是我的所作所为:
<? foreach ($sales as $sale): ?>
<script>
$(function () {
var austDay = new Date();
austDay = new Date(<?php echo date('Y', strtotime($sale->end))?>,<?php echo (date('m', strtotime($sale->end))-1)?>,<?php echo date('d-1', strtotime($sale->end))?>,<?php echo date('h', strtotime($sale->end))?>,<?php echo date('i', strtotime($sale->end))?>,<?php echo date('s', strtotime($sale->end))?>);
$('#defaultCountdown').countdown({until: austDay, format: 'dHMS'});
});
</script>
<div id="defaultCountdown"></div>
我对如何使其适用于每个销售数据有任何想法?我的意思是,我怎样才能让它变得多重并且有效?
答案 0 :(得分:4)
您需要唯一标识每个元素。如果有销售ID,我会这样做:
$('#defaultCountdown<?php echo $sale->Id?>').countdown(...);
...
<div id="defaultCountdown<?php echo $sale->Id?>"></div>
或者只是使用一个计数器:
<?
$count = 0;
foreach ($sales as $sale):
$count++;
?>
$('#defaultCountdown<?php echo $count ?>').countdown(...);
...
<div id="defaultCountdown<?php echo $count ?>"></div>