【发布时间】:2014-03-07 18:57:04
【问题描述】:
我是JS和PHP的初学者,所以请原谅我的无知并多多包涵:)
我正在尝试在我的网站上实施实时计数器。这个计数器应该显示到现在的翻译字数,我希望这个数字更新“实时”以反映翻译字数(基于我的年度平均值)。
为简化起见,我设置了一个变量 $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,或者只是在你加载页面时才有服务器时间。如果我错了,您将值
totalWords存储在哪里? -
不确定你在问什么...我认为我不需要将
totalWords存储在任何地方,因为它是在页面加载时计算的 - 或者我需要吗?
标签: javascript php html function counter