0

我建立了一个优惠券网站,每张优惠券都有一个倒计时。当您查看凭证时,倒计时工作正常,但是......我还有一个包含多个凭证的摘要页面(使用记录集上的重复区域)......当我将脚本应用于每个凭证时,脚本不会工作。

HMTL:

      <h3 class="remaining"><?php echo $row_rs_dealItem['dateend']; ?> remaining</h3>

JAVASCRIPT 外部文件:

$(document).ready(function(){
$('.remaining').each(function(){
    var expiry_date = Date.createFromMysql($(this).html());
    var current_date = new Date();
    console.log(expiry_date.getTime() );
    console.log(current_date.getTime());
    if (expiry_date.getTime() >  current_date.getTime()) {
        var time_diff = Math.floor((expiry_date.getTime() - current_date.getTime()) / (1000*60*60));
        console.log(expiry_date.getTime() - current_date.getTime());
        console.log(time_diff);
        days_diff = Math.floor(time_diff / 24);
        hours_diff = time_diff % 24;

        $(this).html(days_diff + ' days ' + hours_diff + ' hours');
    }
    else{
        $(this).html('expired');
    }
});
}); 

 Date.createFromMysql = function(mysql_string)
{ 
 if(typeof mysql_string === 'string')
{
   var t = mysql_string.split(/[- :]/);

  //when t[3], t[4] and t[5] are missing they defaults to zero
  return new Date(t[0], t[1] - 1, t[2], t[3] || 0, t[4] || 0, t[5] || 0);          
}

return null;   
}

JAVASCRIPT 内联:

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="scripts/script.js"></script>
<script type="text/javascript">
    var reference       = '<?php echo $row_rs_dealItem['reference']; ?>';
    var today           = Date.createFromMysql('<?php echo date('Y-m-d h:i:s'); ?>');
    var contractstarts  = <?php echo ($row_rs_dealItem['datestart'] == '0000-00-00') ? '""' : 'Date.createFromMysql("' . $row_rs_dealItem['datestart'] . '")'; ?>;
    var contractexpires = <?php echo ($row_rs_dealItem['dateend'] == '0000-00-00') ? '""' : 'Date.createFromMysql("' . $row_rs_dealItem['dateend'] . '")'; ?>;
</script>

我希望这对你来说是足够的数据。

谢谢

4

1 回答 1

0

我意识到我已经有效地将代码从一页复制到另一页,并且记录集有不同的名称:(

于 2012-05-23T09:10:37.307 回答