0

我想使用翻转时钟作为反向计数器。计时器应从 hh:mm:ss(例如 19:40:46)到 00:00:00 开始。

下面是代码

var clock;

$(document).ready(function() {

    // Grab the current date
    var currentDate = new Date();

    // Set some date in the future. In this case, it's always Jan 1
    var futureDate  = new Date(currentDate.getFullYear() + 1, 0, 1);

    // Calculate the difference in seconds between the future and current date
    var diff = futureDate.getTime() / 1000 - currentDate.getTime() / 1000;

    // Instantiate a coutdown FlipClock
    clock = $('.dw_clock').FlipClock(diff, {
        clockFace: 'DailyCounter',
        countdown: true,
        showSeconds: true
    }); 
});

我不想要日期。此外,时间值应该从 MySQL 中获取,并且在不同用户登录时会有所不同。从 PHP-MySQL 中,我有:

function timeToPlay(&$smarty){

    $sqlStr = "select timediff('24:00:00', time(taken_on)) as timeRemaining,
            hour(timediff('24:00:00', time(taken_on))) as hour,
            minute(timediff('24:00:00', time(taken_on))) as minute,
            second(timediff('24:00:00', time(taken_on))) as second
        FROM profile_sicc_exer_score where user_id=".$_SESSION['user_id']."
        order by id desc limit 1";

    $sqlQuery = mysql_query($sqlStr) or die(mysql_error()."<hr>".$sqlStr);

    if ( mysql_num_rows($sqlQuery) ) {

        $timeToPlayNext = mysql_fetch_assoc($sqlQuery);

        $smarty->assign("timeRemaining",$timeToPlayNext['timeRemaining']);
        $smarty->assign("hour",$timeToPlayNext['hour']);
        $smarty->assign("minute",$timeToPlayNext['minute']);
        $smarty->assign("second",$timeToPlayNext['second']);

    }
}

从上面的代码中,我得到了(示例)的值

  1. $timeRemaining = 19:40:46
  2. $小时 = 19
  3. $分钟 = 40
  4. $秒 = 46

如何使用上述 Flipclock 代码中的值,即 javascript/jquery...

4

1 回答 1

0

对于flipClock,您必须将clockFace 更改为“HourlyCounter”,因此它不会显示日期。

之后,有了 php 变量,您可以将它们“回显”到 javascript 代码中,例如,在网页的末尾,您可以输入:

<script>
clock.setTime(<?php echo $hour*3600+$minute*60+$second; ?>);
</script>

你总是可以把它放在一个“onload”函数或类似的东西中,但它应该可以正常工作。

您没有留下有关显示计数器的实际 html 页面的任何详细信息,因此我无法进一步帮助您。

祝你好运!

于 2014-11-29T01:52:00.963 回答