用js或jquery怎么实现一个数字随时间随机增加?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用js或jquery怎么实现一个数字随时间随机增加?相关的知识,希望对你有一定的参考价值。
需求是这样的:一个数字每隔2个小时随机增加5-20,到0点清零,随后又开始增加,一直循环下去,求大神上代码
在后台部署定时任务吧,前台计时器不实际:
页面刷新意味着重新计时(计时器被重置)
没有人会在一个页面停留那么长时间(2小时)
用计时器显得有点……,当然了,一定要前台使用JQuery的话,部署一个函数来计算就好:
加载的时候读取数值基数,然后根据当前时间直接计算出最终变动的值,最后显示即可。
最好的做法还是后台处理,前台请求的数据就是变动后的数值(不管是谁,何时请求?结果都是一样的)。
let num = 0,
t = 0,
timeid = setInterval(function()
if(++t>=7200)
t=0;
num += rnd /*rnd 随机数*/
if(new Date().getHours()===0)
num = 0;
, 1000)
)()
用jQuery随机化数字?
【中文标题】用jQuery随机化数字?【英文标题】:Randomize numbers with jQuery? 【发布时间】:2011-05-17 09:45:43 【问题描述】:有没有一种简单的 jQuery 方法来创建随机显示的数字,然后在几秒钟后选择数字 1 -6? [喜欢骰子]
【问题讨论】:
【参考方案1】:您不需要 jQuery,只需使用 javascript 的 Math.random
函数即可。
编辑: 如果你想让一个从 1 到 6 的数字每秒随机显示,你可以这样做:
<span id="number"></span>
<script language="javascript">
function generate()
$('#number').text(Math.floor(Math.random() * 6) + 1);
setInterval(generate, 1000);
</script>
【讨论】:
【参考方案2】:function rollDice()
return (Math.floor(Math.random()*6)+1);
【讨论】:
这会给你一个介于 0 和 5 之间的数字。【参考方案3】:Javascript 有一个random()
可用。看看Math.random()。
【讨论】:
【参考方案4】:这不需要 jQuery。 JavaScript Math.random
函数返回一个介于 0 和 1 之间的随机数,所以如果你想要一个介于 1 和 6 之间的数字,你可以这样做:
var number = 1 + Math.floor(Math.random() * 6);
更新:(根据评论)如果您想显示一个经常变化的随机数,您可以使用setInterval
创建一个计时器:
setInterval(function()
var number = 1 + Math.floor(Math.random() * 6);
$('#my_div').text(number);
,
1000); // every 1 second
【讨论】:
我知道,但我还需要数字 1-6 来随机制作动画。 太棒了! 5 秒后随机数 1-6 被选中,我该怎么做? @omnix:询问随机数和计时器是一个有效的问题,但您现在提出的问题表明您根本不熟悉 JavaScript。你应该从阅读一本好的教程或书籍开始。【参考方案5】:在 Perl 中编码时,我使用了随机生成数字的 rand() 函数,并且只希望随机选择 1、2 或 3。由于 Perl 在执行“1 +”时会打印出数字一……所以我还做了一个 if else 语句,如果数字生成零,则再次运行该函数,它就像一个魅力。
打印出结果总是会给出一个随机数,1、2 或 3。
这只是另一个想法,当然人们会说这是新手,但与此同时,我是新手,但它确实有效。我的问题是在打印出我的东西时,它一直吐出 1 用于从 1 开始,而不是 0 用于索引。
【讨论】:
以上是关于用js或jquery怎么实现一个数字随时间随机增加?的主要内容,如果未能解决你的问题,请参考以下文章
怎么才能用js实现随机选取10–100之间的10个且不重复的数字存入一个数组?
JS或者jquery做 一个div不随滚动条上下移动改变位置的效果,就是div始终保持在浏览器的一个位置,不用css
怎么用SQL语句实现某个字段数为随机数,如一个表里的学号字段,怎么让这个学号自动生成7位数的随机数