2011-05-09 114 views
1

我正在使用jQuery Keith-Wood插件在我的页面上显示一个倒计时器,它工作正常。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

您是否使用不同的ID对每个目标的div?也许使用类可能会更好? – spender 2011-05-09 15:55:43

回答

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> 
+0

哇,它现在神奇的作品!非常感谢! – dana 2011-05-09 16:13:50

+0

@dana - 不客气! – 2011-05-09 16:35:26