首页 > 解决方案 > setInterval 不会执行内部函数

问题描述

我正在尝试在 javascript 中创建一个计时器。sec 变量不会增加。知道为什么会这样吗?

<script>
var sec = 0;

setInterval(function () {
    start_timer();
}, 1000);

function start_timer() 
{
        sec++;          
}
</script>

我如何调用变量:

首先,我有一个调用 getCurrentTime() 的表单

<button type="button" onclick=" <?php getCurrentTime(); ?>"  class="unstyled-button imageButtonLeft" >

getCurrentTime 将 sec 变量存储到 setTime() 中,然后我使用 getTime() 来打印它。

function getCurrentTime()
{
    //Unserialize
    $s1 = file_get_contents('store');
    $moodCalculator = unserialize($s1);

    $time = "<script>document.writeln(sec);</script>";
    $moodCalculator->setTime($time);

    //Serialize
    $s1 = serialize($moodCalculator);
    file_put_contents('store', $s1);
}

echo $moodCalculator->getTime();

是否有可能在发送表单后调用 getCurrentTime() ?因为这可以解释为什么当我打印它时“sec”结果为 0。

标签: javascripttimersetinterval

解决方案


推荐阅读