gpt4 book ai didi

javascript - 倒计时 JavaScript

转载 作者:行者123 更新时间:2023-11-30 00:37:58 27 4
gpt4 key购买 nike

最近我正在做电子图书馆的项目,需要为用户阅读的每本书提供倒计时器。

例如,在我的数据库中,“用户”有“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>

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

另一件事是我尝试使用 onClick 按钮并且它正在工作,但我希望每当用户关闭浏览器时此代码都可以工作。

提前感谢您。

最佳答案

您可以执行以下操作:

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

网页收到剩余时间值后,如果收到的值为零或负数,将重定向到另一个页面。

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

关于javascript - 倒计时 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22012629/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com