原生JS实现页面数字在一个随机数区域内跳动 -- 简书
2018-08-31 18:55
357 查看
简单记录一下在工作中用到的随机数操作,今天leader说话了,“在网页上加个虚拟数字,加载时跳动,然后停在某一个随机数区间”。 这不是很简单吗,本来一个插件就完事。但是闲来无事不如自己写一个。 话不多说,简单的记录一下自己的代码。 1.首先给一个id用来控制数据变化 <p id="num">100</p> 2.在js中拿到你的id节点 let num=document.getElementById("num") 3.采用setInterval定时器,这里需要注意一个细节 a,在第一次做定时器的时候,我直接这样写了 setInterval(function(){ ‘内容’ },1000) b,后来发现,在我中止定时器的时候,不方便操作。所有又let个变量来存储我们的定时器: let myTime = setInterval(function(){ ‘内容’ },1000) c,这里就要想办法怎么停止定时器了,我的做法是在外面var个变量,setInterval执行一次变量+1,知道满足某个次数的时候,clearInterval停止定时器,代码如下: var timeRun=0; let myTime=setInterval(function(){ ‘内容’ timeRun+=1; if(timeRun===5){ clearInterval(myTime) } },100)
这样就把我们的定时器设置好了,并且能让他在执行了n次过后自动停止。
4.现在就来考虑怎样去改变数字跳动,这里要用到随机数。 a.首先要考虑的是怎样去控制随机数的区域,在网上有很多function(min,max)传参进去控制随机数区域的函数,有时间的话可以去看看。在这里由于数据不多,我就直接min,max写了出来。 “改变的数字”=min+Math.round(Math.random*(max-min)); b.怎样去改变p标签里面的数字呢,很简单innerText num.innerText=min+Math.round(Math.random() * (max-min)); 这里面max是最大随机数,min是最小随机数。
整理一下代码。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>页面数字在一个随机数区域内跳动</title> </head> <body> <p id="num">100</p> <script> let num=document.getElementById("num") var timeRun=0; let myTime=setInterval(function(){ num.innerText=100 + Math.round(Math.random() * 50); timeRun+=1; if(timeRun===5){ clearInterval(myTime) } },100) </script> </body> </html>阅读更多
相关文章推荐
- Javascript - Math 对象 - 某个数字区域之间的随机数(精确度:小数点后两位)toFixed方法原生JS实现
- 原生js获取 一个dom元素距离页面可视区域的位置值 -- getBoundingClientRect
- JS如何实现在一个页面停留1分钟跳转另外一个页面?
- jquery/js 实现 标签 条码 一维码 Web页面 区域打印解决方案 实例
- 使用js实现多个html页面访问同一个常量
- Oracle ADF 一个页面实现 维护区域Form和查看区域Table 方法 另一种方法(推荐)
- js实现同一个页面多个渐变效果的方法
- Arcgis for Js实现Spline插值、区域裁剪以及页面的轮播效果
- 如何用JS实现打开一个页面自动定位到某一行
- 使用原生js实现页面蒙灰(mask)效果
- 请实现一个js脚本,要求做到将数字转化为千分位表示如:10000 转化为10,000
- Laravel一个页面里有多个分页并用jQuery pagination.js实现
- js实现一个长页面中的图片懒加载即滚动到其位置才加载
- 用js实现随机选取10–100之间的10个数字,存入一个数组,并排序
- 原生js实现的局部页面打印功能,可以适用vue和jq
- 如何用js实现截取一个字符串中的数字
- 用js实现页面登录重用(一个页面实现两种类型的登录)
- js弹出框点击确认和取消时跳到其他页面且和父页面在同一个Iframe中如何实现?
- 原生Js 两种方法实现页面关键字高亮显示(2)
- 用js实现在加载完成一个页面后自动执行一个方法