gpt4 book ai didi

javascript - JS中的增量+自动更新变量值

转载 作者:行者123 更新时间:2023-11-30 12:46:51 24 4
gpt4 key购买 nike

我是 JS 和 PHP 的初学者,所以请原谅我的无知并耐心等待 :)

我正在尝试在我的网站上实现实时计数器。这个计数器应该显示到目前为止的翻译字数,我希望这个数字“实时”更新以反射(reflect)翻译字数(基于我的年度平均值)。

为简化起见,我设置了一个变量 $wordsPerYear,其中包含平均每年翻译的单词数,比如 1,000。我还将开始日期设置为 10 年前 (2004),因此它返回大约 10,000。

到目前为止,这是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
<title>Live Word Count</title>
<style type="text/css">
.count {
width: 100%;
margin: 0 auto;
padding-top: 10%;
text-align: center;
}
</style>
<?php
$now = time();
$start = mktime(0, 0, 0, 1, 01, 2004);
$wordsPerYear = 1000;
$totalDays = (($now - $start) / 86400); // number of a seconds in a day
$count = $totalDays / 365 * $wordsPerYear;
$count = round($count);
?>

<script type="text/javascript">
var totalWords = <?php print($count); ?>;
function updateCounter() {
totalWords = totalWords + 1; // need to do something here to update to the real word count instead of incrementing by 1 each second
document.getElementById("carb").innerHTML=totalWords; }
</script>
</head>

<body onload="setInterval('updateCounter()', 1000);">
<div class="count">
<span id="carb">
Loading Word Count...
</span>
</div>
</body>
</html>

我只需要能够使用 setInterval('updateCounter()', 1000) 使用翻译的单词的真实值而不是“假”实时增量使这个数字更新“实时”。

是的,我真的只需要更新函数以将字数计数值更新为当前时间与开始日期的比率。

谁能帮我实现这个目标?我敢肯定这是一件非常简单的事情,但我绞尽脑汁却无济于事。让我知道是否需要澄清来解释我想做什么!

提前致谢

最佳答案

为此不需要同时使用 PHP 和 Javascript,因为您实际上并没有从服务器获取任何值 - 它都是在真空中计算的。

从根本上说,这是一道数学题。 Javascript 以毫秒为单位计算日期差异,因此您首先需要知道每毫秒翻译的字数:每年字数/每年天数/每天毫秒数。我使用 31556900 作为每年的单词值来测试,因为这是一年中的秒数。

接下来,您必须将该总数应用于当前日期 - 开始日期,并将其设置为您的起始总数。

最后,创建一个区间函数,将单词数加到总数中。

应该这样做:

;(function() {
// Constants
var wpm = (31556900 / 365) / 86400000 // Words per year / days per year / milliseconds per day
, start = new Date('January 1, 2004');

var now = new Date()
, total = Math.round((now - start) * wpm);

var dom = {
counter: document.getElementById('counter')
};
dom.counter.textContent = total;

setInterval(function() {
total += Math.round((new Date() - now) * wpm)
dom.counter.textContent = total;
now = new Date();
}, 1000)
}())

http://jsfiddle.net/PjmwD/

关于javascript - JS中的增量+自动更新变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22258438/

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