倒计时Javascript

倒计时Javascript,javascript,php,html,mysql,countdown,Javascript,Php,Html,Mysql,Countdown,最近,我正在为电子图书馆做一个项目,需要为用户阅读的每本书设置倒计时 因此,例如,在我的数据库中,“用户”有“100秒”的信用时间来阅读这本书,只有当他们阅读这本书时,时间才会减少 这是我的代码: <?php require_once('DatabaseManager.php'); $databaseManager = new DatabaseManager(); $books = $databaseManager->getAllRow

最近,我正在为电子图书馆做一个项目,需要为用户阅读的每本书设置倒计时

因此,例如,在我的数据库中,“用户”有“100秒”的信用时间来阅读这本书,只有当他们阅读这本书时,时间才会减少

这是我的代码:

<?php
        require_once('DatabaseManager.php');
        $databaseManager = new DatabaseManager();
        $books = $databaseManager->getAllRows('books');
        while ($book = mysqli_fetch_assoc($books)) {
            $_SESSION['timer1'] = $book['timer'];
        }
        ?>
         <html>
<head>
<title>Countdown</title>

    <script>
    var clicked = false;
    var sec = <?php echo $_SESSION['timer1'];?>;

    function startClock() {
        if (clicked === false) {
            clock = setInterval("stopWatch()", 1000);
            clicked = true;
        }
        else if (clicked === true) {
        }
    }

    function stopWatch() {
        sec--;
        document.getElementById("timer").innerHTML = sec;


    }

    function updateValue() {
        <?php 
        $time_update = $databaseManager->editRow('books', 'book_id', '1', 'timer', $_GET['REMAINING VALUE FROM COUNTDOWN STORED HERE'] );
        ?>
    }
    </script>
</head>
<body>

    <input type="submit" id="start-clock" value="Start" name="submit" onClick="startClock()"/>

    <div id="timer">0</div>
    <input type="submit" id="stop-clock" value="Stop" name="submit" onClick="updateValue()"/>
    </br>

</body>
</html>

倒计时
var=false;
var-sec=;
函数startClock(){
如果(单击===false){
时钟=设置间隔(“秒表()”,1000);
单击=真;
}
else if(单击===true){
}
}
功能秒表(){
第二节;
document.getElementById(“计时器”).innerHTML=sec;
}
函数updateValue(){
}
0

所以我想做的是:当用户拥有100秒的信用值,并且他们只读取了45秒,剩余的55秒的值将自动存储到数据库中。使用'updateValue()'

另一件事是我尝试过使用ButtonOnClick,它可以工作,但我希望在用户关闭浏览器时,这段代码可以工作


提前感谢您。

您可以执行以下操作:

当用户阅读本书时,每“n”秒向服务器发送一条消息(AJAX)。服务器在收到消息时会将该用户的书本阅读时间从剩余时间减少“n”秒,并将该时间发回

如果接收到的时间剩余值为零或负,则网页在接收到时间剩余值时将重定向到另一页


这样,您就可以跟踪剩余时间,最大误差为“n”秒。

请查看。这可能会有帮助,谢谢你,但我还是不知道怎么做。。我试过很多方法,但大多数都不适合我