setInterval是什么?

setInterval()方法重复调用一个函数或执行一个代码段,在每次调用之间具有固定的时间延迟。

setInterval(函数,间隔时间)

例如

function fn(){
document.write('hello world <br/>');
} setInterval(fn, 1000); //注意函数名不能加()

获取随机数字

知识点:

开启定时器,会返回一个定时器id:   timer = setInterval(函数,时间)

根据返回的id,清除该定时器: clearInterval(timer)

开启定时器之前,先清除之前的定时器

var oIpt = document.getElementById('ipt');
var startBtn = document.getElementById('start');
var stopBtn = document.getElementById('stop');
var timer = null; //随机数方法
function getRandomInt(min, max){
return Math.floor(Math.random()*(max-min+1)+min);
} //点击开始按钮, 表单不停的填入随机数
startBtn.onclick = function(){
//开始定时器之前,先清除之前的定时器
//如果不先清除,会出现,点击多次开始按钮,会生成多个定时器,而结束的时候,只能清除最后一个定时器,导致之前的定时器还在跑,停不下来
clearInterval(timer);
//定时器会返回一个id,这样后面我们就能通过通过timer知道是哪个定时器,然后进行清除
timer = setInterval(function(){
//获取20-40的随机整数
var randomInt = getRandomInt(20, 40);
//把随机数放入到表单中
oIpt.value = randomInt;
}, 100)
} //点击结束按钮,清除定时器
stopBtn.onclick = function(){
clearInterval(timer);
}

获取随机数字

<button>切换背景</button>
<button>停止</button> <script>
var aBtn = document.getElementsByTagName('button');
var timer = null; aBtn[0].onclick = function(){
clearInterval(timer);
timer = setInterval(function(){
var randomInt = getRandomInt(1000, 1999);
document.body.style.background = "url(https://img.infinitynewtab.com/wallpaper/" + randomInt + ".jpg) no-repeat";
document.body.style.backgroundSize = "100%";
}, 1000)
} aBtn[1].onclick = function(){
clearInterval(timer);
} function getRandomInt(min, max){
return Math.floor(Math.random()*(max -min + 1) + min)
}
</script>

背景切换

第8天-setInterval/setTimeout的更多相关文章

  1. setInterval setTimeout 详解

    JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感, 例如 setTimeout( ...

  2. requestAnimationFrame与setInterval,setTimeout

    自打学习canvas动画以来,都说requestAnimationFrame好,就一直用,也没觉得有什么太过于特殊的地方,直到刚才,在写完前面的"小球碰撞墙壁----干掉误差"之后 ...

  3. js计时器方法 setInterval(),setTimeout()

    window.setInterval() 周期性地调用一个函数(function)或者执行一段代码. var intervalID = window.setInterval(func, delay[, ...

  4. setInterval setTimeout clearInterval

    setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout(). //第一次load的时候就先刷新一次 ...

  5. setInterval && setTimeout || 定时器

    来自w3school的解释 定时器setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInterval() 方法会不停地调用函数,直到 clearInterva ...

  6. setInterval(),setTimeout(),location.reload(true)

    1,setInterval() setInterval()方法可以按照指定的周期来调用函数或表达式,他会不停地调用函数,直到调用clearInterval()方法或窗口关闭.由setInterval( ...

  7. setInterval/setTimeout传参方法

    网上文章说有3种方法,对于我来说一种方法就够了: <script> var user_name='离间计' //定时器 异步运行 function hello(name){ alert(n ...

  8. 每日技术总结:setInterval,setTimeout,文本溢出,小程序,wepy

    前言: 项目背景:vue,电商,商品详情页 1.倒计时,倒计到0秒时停止 data () { return { n: 10 } }, created () { let int = setInterva ...

  9. Javascript 的定时器 setInterval,setTimeout,clearInterval

    今天开通博客.来1个.哇哈哈哈~~ 今天本来想复习BOM的看到定时器也算DOM一种 ?(是这样吗).分享一下 参考源于:八神吻你 http://www.cnblogs.com/lmfeng/archi ...

随机推荐

  1. mysql 字段为NULL的一些操作

    1. 修改字段为NULL update tableName set column1 = null where id = 1 2. 字段是否为NULL (1)字段为空 select * tableNam ...

  2. 验证组件——FluentValidation

          FluentValidation FluentValidation是与ASP.NET DataAnnotataion Attribute验证实体不同的数据验证组件,提供了将实体与验证分离开 ...

  3. luaj luaoc 回调函数传递的一些小总结

    问题场景:我们的游戏在支付时,由于第三方支付比较费时,可能在支付的过程中,我们lua写的cocos2dx项目会断网,我们的游戏有自动重连的机制.我就想,如果断线好了以后,支付完成了,那在断网之前传入的 ...

  4. php中比较好用的函数

    PHP中一个好用的函数parse_url,特别方便用来做信息抓取的分析,举例子如下: $url = "http://www.electrictoolbox.com/php-extract-d ...

  5. 启动Eclipse时,弹出failed to load the jni shared library

    JDK版本和Eclipse版本不同的问题,JDK版本为64位,Eclipse版本为32位.

  6. bisai.py

    比赛专用py #!/usr/etc/env python #encoding:utf-8 #by i3ekr #token import re,os,requests res = "(fla ...

  7. handle_level_irq 与handle_edge_irq 的区别【转】

    转自:http://blog.csdn.net/xavierxiao/article/details/6087277 版权声明:本文为博主原创文章,未经博主允许不得转载. Linux 里, handl ...

  8. python基础===* 解包,格式化输出和print的一点知识

    python3中的特性: >>> name = "botoo" >>> print(f"my name is {name}" ...

  9. vue做购物车

    写一点废话,昨天敲代码找bug,找了好久都没找到,后来一哥们找到他说,找代码的bug就像男女朋友吵架,女问男你错了没,男说错啦,女再问错哪了,男傻眼了不知道错哪.在找代码的过程中一直知道我错啦就是找不 ...

  10. Winform利用委托进行窗体间的传值

    在form1.cs中 1.委托的定义 //定义一个委托 public delegate void AddUsrEventHandler(object sender, AddUsrEventHandle ...