javascript BOM中的定时器

定时器

setInterval   类似循环

语法:

var i = 0;

var  timer  =  setInterval (function(){

console.log(i);

i++;

if(i==10){

//清楚定时器

clearInterval(timer)

}

},1000);  //这里的1000指的是毫秒

setTimeOut   类似定时闹钟  在多少毫秒以后,执行一次    

小练习:2020倒计时

代码如下:

 

<style type="text/css">

p{

font-size: 20px;

color: #666;

}

</style>

<body>

<h1>距离2020年还有:</h1>

<p id="time"></p>

<script>

var oPo = document.getElementById('time');

function task(){

//此时此刻的时间

var now = new Date();

//2020年的时间

var target = new Date("2020/01/01 00:00:00");

var s = parseInt((target-now)/1000); //秒

if(s == 0){

//清除定时器

clearInterval(timer);

oPo.innerHTML = "新年快乐!";

}else{

var days = parseInt(s/3600/24);

var hs = parseInt(s/3600%24);

var mins = parseInt(s/60%60);

var ss =s%60;

oPo.innerHTML = days+"天"+hs+"小时"+mins+"分"+ss+"秒";

}

}

var timer = setInterval(task,1000);

</script>

</body>

效果图:

 

练习题:随机点名

代码如下:

<style>

form{

width: 400px;

margin: 0px auto;

text-align: center;

background-color: #FAEBD7;

}

#start{

width: 100px;

height: 50px;

background-color: green;

font-size: 18px;

border: none;

outline: none;

border-radius: 8px;

}

#end{

width: 100px;

height: 50px;

background-color: red;

font-size: 18px;

border: none;

outline: none;

border-radius: 8px;

}

#Sname{

width: 200px;

height: 100px;

font-size: 20px;

font-weight: bold;

line-height: 100px;

float: left;

background-color: #FAEBD7;

color: green;

}

#Stime{

width: 200px;

height: 100px;

font-size: 24px;

font-weight: bold;

line-height: 100px;

float: left;

background-color: #FAEBD7;

color:green;

}

.hint{

width: 400px;

height: 100px;

font-size: 20px;

font-weight: bold;

line-height: 100px;

float: left;

background-color: #FFB6C1;

}

.h_none{

display: none;

}

</style>

<body>

<form action="">

<input type="button" value="开始点名" id="start">

<input type="button" value="停止点名" id="end">

<div id="Sname"></div>

<div id="Stime"></div>

<div id="hint" class="h_none"></div>

</form>

<script>

var stds = ["陈官耀","丰林","郭雷康","苟丽特","龚子威","黄俊雄","胡涛","贺宇航","侯政强","姜涵","姜驱寒","卢成","李宪","李星骆","彭正威","田文强","王飞","徐名扬","徐淑娟","袁成新","袁冠捷","杨乾越","叶文杰","尹逍宇","俞振雄","周朝兵","张海峰","张利","周雨芹","熊威"];

//定义一个变量

var timer;

var timer1;

var S_name;

var tim;

//开始点名时间

document.getElementById("start").onclick = function () {

timer = setInterval(students,50);

timer1 = setInterval(times,50);

}

//结束点名事件

document.getElementById("end").onclick = stop;

//定义开始的函数

function students(){

var num = Math.floor(Math.random()*stds.length);

S_name = stds[num];

document.getElementById('Sname').innerHTML = S_name;

document.getElementById("hint").className = "h_none";

}
//定义次数的函数
function times(){ 
tim = Math.ceil(Math.random()*10);
document.getElementById("Stime").innerHTML = tim;
}

//定义结束的次数

function stop(){

clearInterval(timer);

clearInterval(timer1);

document.getElementById("hint").className = "hint"

var S_hint = "恭喜"+S_name+"同学中奖了!"+"抄"+tim+"遍,加油袄。"

document.getElementById("hint").innerHTML = S_hint;

}

</script>

</body>

效果图:

点击开始点名,随机出现30个名字中随机循环名字和次数,当点击停止点名的时候,随机点名会停止,次数也会停止,显现出来隐藏的内容。

 

 

 

 

 

转载于:https://www.cnblogs.com/hyh888/p/11436180.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值