Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SQL变量的Javascript倒计时_Javascript_Jquery - Fatal编程技术网

使用SQL变量的Javascript倒计时

使用SQL变量的Javascript倒计时,javascript,jquery,Javascript,Jquery,我不熟悉javascript/jquery。我在互联网上找到了下面的例子,我正试图让它与我的SQL变量一起工作。但我被卡住了,因为它所做的只是一次又一次地从60倒数 我正在努力实现以下目标。我有一个变量,表示用户需要等待多少秒才能再次执行操作$secs。我需要的是时间和进程条倒计时,从变量到零的秒数。之后,我将添加一个页面重新加载行到它。但首先计时器需要工作。我真的很感激任何帮助,因为我找不到任何可行的解决方案/解释来解决我的问题 功能已启动(持续时间){ var TotalSeconds=“

我不熟悉javascript/jquery。我在互联网上找到了下面的例子,我正试图让它与我的SQL变量一起工作。但我被卡住了,因为它所做的只是一次又一次地从60倒数

我正在努力实现以下目标。我有一个变量,表示用户需要等待多少秒才能再次执行操作
$secs
。我需要的是时间和进程条倒计时,从变量到零的秒数。之后,我将添加一个页面重新加载行到它。但首先计时器需要工作。我真的很感激任何帮助,因为我找不到任何可行的解决方案/解释来解决我的问题


功能已启动(持续时间){
var TotalSeconds=“”;
var documentWidth=$(document).width();
var start=Date.now();
var intervalseted=null;
函数计时器(){
var diff=持续时间-((Date.now()-start)/1000)0;
var秒数=(差异%60)| 0;
秒=秒<10?“0”+秒:秒;
$('#timer').html(“00:+秒);
var progresBarWidth=(秒*documentWidth/TotalSeconds);
$(“#进度”).css({
宽度:progresBarWidth+‘px’
});

如果(diff您需要
将持续时间转换为时间格式

<div id='timer'></div>
<div id='progress' style='background:red; height:5px;'></div>
<script>
function started(duration) {
    var TotalSeconds = duration;
    var documentWidth = $(document).width();
    var start = Date.now(); 
    var intervalSetted = null;

    function timer() {
        var diff = duration - (((Date.now() - start) / 1000) | 0);
        var seconds = (diff % duration) | 0;
        seconds = seconds < 10 ? "0" + seconds : seconds;

        var date = new Date(0);
        date.setSeconds(seconds);
        var timeString = date.toISOString().substr(11, 8);

        $('#timer').html(timeString);
        var progresBarWidth = (seconds * documentWidth / TotalSeconds);

        $('#progress').css({
            width: progresBarWidth + 'px'
        });

        if (diff <= 0) {
            clearInterval(intervalSetted);
        }
    }

    timer();
    intervalSetted = setInterval(timer, 1000);
}

started("<?php echo $secs; ?>");
</script>

功能已启动(持续时间){
var TotalSeconds=持续时间;
var documentWidth=$(document).width();
var start=Date.now();
var intervalseted=null;
函数计时器(){
var diff=持续时间-((Date.now()-start)/1000)0;
var秒数=(差异%持续时间)| 0;
秒=秒<10?“0”+秒:秒;
var日期=新日期(0);
日期设置秒(秒);
var timeString=date.toISOString().substr(11,8);
$('#timer').html(timeString);
var progresBarWidth=(秒*documentWidth/TotalSeconds);
$(“#进度”).css({
宽度:progresBarWidth+‘px’
});

如果(diff感谢您的输入。但是我没有看到我的SQL/php$secs变量在您的答案中返回seconds。此外,计时器倒计时时,进度条没有递减?我更新了我的答案检查。我在示例中添加了started,并在其中添加了seconds的echo。它给出了以下错误。未捕获范围错误:Invalid time value at Date.toISOString()at timer(index.php:126)我尝试了最后一个示例。将started(60)更改为started(“”);这似乎可以解决问题!感谢您的帮助!欢迎…很高兴能提供帮助。如果您喜欢/想要,也可以提供答案,谢谢。