运行显示在网站上的计数器
Run a counter that is displayed on website
我想在一个网站的后端运行一个计数器,这样它就会不断计数。我制作了一个javascript计数器(http://directinvent.com/counter/),它显示所需的结果,尽管每当为每个单独的用户加载站点时都会重置。
这个想法很简单。运行计数器后端,并在前端实时显示结果。对如何做到这一点有什么想法吗?
与Javascript中的Timer相同。当你开始你的柜台。然后在每次更新(请求)时重新计算结果。没必要每隔1/10秒算一次。如果没有人问,这是没有用的。
基本上,它看起来像这样:
long startTime = storeTimeFor(User);
return (currentTimeInSec - startTimeInSec) * incrementationPerSec
这样,您只需要为每个用户存储startTime(在数据库、文件或缓存中,如果您愿意的话)。在重置时,只需再次存储currentTime。
这就是你在很多语言中做计时器的方式,因为每秒钟增加一个值(使用sleep(1000))不会精确,因为你的线程不会一直运行,你不是一个人在机器上;)
<标题>编辑:在客户端,我不会调用太多的服务器,只是要求值存储和从客户端用相同的逻辑做数学。如果需要的话,请查看如何在Javascript中创建计时器,这里只有计算值会改变。
标题>计数器必须存储在后端(在文件或数据库中),可以是单个计数器,也可以是每个用户一个计数器。
呈现页面时,首先显示从后端读取的计数器。
如果计数器的速度是已知且恒定的(例如每秒增加3),那么你可以使用javascript (setTimeout
)每秒增加它。后端将存储创建时的数字和时间(unix时间),例如120 at 08:00:00。如果用户在09:00:15访问网站,您知道这是3615秒后,所以您呈现初始页面,显示起始计数器为120 +(3615/3)= 1325。之后,javascript将以每秒3的速度递增并显示它。
如果计数器的速度是未知的,那么你需要定期(例如每10秒一次)通过ajax检查后端,请求计数器的当前值。您可以立即显示最新的值(这意味着计数器将每10秒更新一次)。或,如果你想给人一种"活"的感觉,你可以在客户端用动画增量地显示它。例如:当前显示120。10秒后,通过ajax请求,您将获得一个新值150。差值是10秒内150-120 = 30。您可以显示每秒增加3的计数器(120、123、126、129、132、135、138、141、144、147、150)。您也可以使用随机增量来更加逼真,只要总增量在10秒内为30。
我通过使用Date()变量获取每天的时间,并将每天的时间乘以所需的增量常数来解决这个问题。这样,该方案将根据需要每天自动更新正确的号码,所有用户将在任何给定的时间显示正确的号码。
function dotimer()
{
today=new Date()
window.setInterval("dotimer()",speed)
testMilli = today.getMilliseconds()
testSeconds = today.getSeconds()
testMinutes = today.getMinutes()
testHours = today.getHours()
totalCost = Math.round(testHours * 10800 + testMinutes * 180 + testSeconds * 3 + testMilli * 0.003);
document.getElementById("counterSeconds").innerHTML = totalCost;
}
- JQuery使计数器每次更改时都会增加
- 如何识别我的网站中的慢速设备
- Javascript计数器变量未显示正确的值
- 用Javascript更改我网站上的字体大小
- 有任何可能将facebook实时信使整合到一个网站中
- 将电视直播频道从网站嵌入我的网站
- Windows 8固定的网站互动程序
- 门户网站:当地时间有多有用
- 正在删除node.js中已验证的网站
- 为什么在这个网站上不能通过JS访问元素
- 需要使用谷歌应用程序脚本列出谷歌域下的所有网站
- 为什么只有工厂在棱角分明的网站上被提及
- 从应用程序脚本检查谷歌网站访问权限
- 使用谷歌网站翻译器自动翻译网页
- 使用node.js制作网站
- 我想在我的WordPress网站上使用计数器.js但它显示错误
- Facebook喜欢计数器显示网站喜欢而不是文章级别的喜欢
- 运行显示在网站上的计数器
- 如何从网站中提取数据计数器,以便在另一个HTML项目中作为JS变量使用
- 如何使数字计数器停留在当前的数字为任何人访问网站