这次给大家带来深入javascript之定时器,使用javascript的定时器注意事项有哪些,下面就是实战案例,一起来看一下。
获取 年 月 日 星期 时 分 秒
<script>
var date = new Date()
date.getFullYear(); //2017 年
date.getMonth(); // 5 注意:月份是个诡异的东西,他是从0开始计算的,故+1才等于正常的月份
date.getDate(); //11 日
date.getDay(); //星期 美国的星期是从星期日开始的,故0为星期日,1为星期一,...6为星期六
date.getHours(); //时
date.getMinutes(); //分
date.getSeconds(); //秒
</script>2.定时器
setInterval 间隔型 : 间隔多少ms执行一次
setTimeout 延时型 : 延时 多少ms执行
两种定时器的区别:
立即学习“Java免费学习笔记(深入)”;
setInterval 间隔型 ,可执行多次
setTimeout 延时型 , 只执行一次
<script>
function show() {
alert('定时器');
}// setInterval(show,1000); // 一秒执行一次
setTimeout(show,1000); //延时一秒执行
</script>开启定时器 setInterval()
var btn1 = document.getElementById('btn1');var btn2 = document.getElementById('btn2');var i = 0;var timer = null;
btn1.onclick = function () { //开启定时器
timer = setInterval(function () {
i++;
alert(i);
},1000);
}关闭定时器 clearInterval(timer);
btn2.onclick = function () {
i = 0;
clearInterval(timer);
}3.截取字符串
str[0];不兼容低版本浏览器,如IE7等; var a = 'abcdef';alert(a[0]); str.charAt(0); 兼容各种浏览器 var a = 'abcdef';a.charAt(0); //兼容各种浏览器
4.数字时钟练习
<html lang="en"><head>
<meta charset="UTF-8">
<title>数字时钟</title>
<style>
body{ background-color: black; font-size: 50px; color: white;
} </style>
<script>
window.onload = function () { var aImg = document.getElementsByTagName('img'); function tick() { var date = new Date(); //把时间拼接成一个字符串,如:212835;
//toDouble()这个函数,是为了把单数转换成双位数,如,9转换成09
var sTime = toDouble(date.getHours()) + toDouble(date.getMinutes()) + toDouble(date.getSeconds()); for (var i=0;i<aImg.length;i++){
aImg[i].src = 'image/'+sTime.charAt(i)+'.png';
}
}
setInterval(tick,1000);
tick(); //由于setInterval会延时1000ms执行,所以为了防止每次刷新页面时,页面上显示00:00:00的情况,调用下此函数
} //把获取的时/分/秒 转换成双位数
function toDouble(n) { if (n<10){ return '0' + n;
}else { return '' +n;//前面的'',是为了把数字转换成字符串
}
} </script></head><body>

:


:

</body></html>
延时提示框
<html lang="en"> <head> <meta charset="UTF-8"> <title>07-延时提示框</title> <style> div{float: left;margin-left: 20px;} #div1{width: 50px;height: 50px;background-color: red;} #div2{ width: 200px;height: 200px;background-color: #ccc;display: none;} </style> <script> window.onload = function () { var oDiv1 = document.getElementById('div1'); var oDiv2 = document.getElementById('div2'); var timer = null; oDiv1.onmouseover = function () { oDiv2.style.display = 'block'; clearTimeout(timer); //清除延时器 } oDiv1.onmouseout = function () { timer = setTimeout(function () { oDiv2.style.display = 'none'; },500); } oDiv2.onmouseover = function () { clearTimeout(timer); } oDiv2.onmouseout = function () { timer = setTimeout(function () { oDiv2.style.display = 'none'; },500); } } </script> </head> <body> <div id="div1"></div> <div id="div2"></div> </body> </html>简化代码:合并两个相同的mouseover和mouseout
<html lang="en"> <head> <meta charset="UTF-8"> <title>07-延时提示框</title> <style> div{float: left;margin-left: 20px;} #div1{width: 50px;height: 50px;background-color: red;} #div2{ width: 200px;height: 200px;background-color: #ccc;display: none;} </style> <script> window.onload = function () { var oDiv1 = document.getElementById('div1'); var oDiv2 = document.getElementById('div2'); var timer = null; //简化代码,合并两个相同的mouseover oDiv2.onmouseover = oDiv1.onmouseover = function () { oDiv2.style.display = 'block'; clearTimeout(timer); } //简化代码,合并两个相同的mouseout oDiv2.onmouseout = oDiv1.onmouseout = function () { timer = setTimeout(function () { oDiv2.style.display = 'none'; },500); } } </script> </head> <body> <div id="div1"></div> <div id="div2"></div> </body> </html>6.无缝滚动
<html><head><meta charset="utf-8"><title>无缝滚动</title><style>* {margin:0; padding:0;}#div1 {width:712px; height:108px; margin:100px auto; position:relative; background:red; overflow:hidden;}#div1 ul {position:absolute; left:0; top:0;}#div1 ul li {float:left; width:178px; height:108px; list-style:none;}</style><script>window.onload=function (){ var oDiv=document.getElementById('div1'); var oUl=oDiv.getElementsByTagName('ul')[0]; var aLi=oUl.getElementsByTagName('li');
var speed=-2;
//oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;
oUl.innerHTML+=oUl.innerHTML;
oUl.style.width=aLi[0].offsetWidth*aLi.length+'px'; //offsetWidth :(width+padding+border) 当前对象的宽度。
//offsetLeft 当前对象到其上级层左边的距离。
function move(){ //往左滚动
if(oUl.offsetLeft<-oUl.offsetWidth/2)
{
oUl.style.left='0';
} //往右滚动
if(oUl.offsetLeft>0)
{
oUl.style.left=-oUl.offsetWidth/2+'px';
} //offsetLeft 距离父元素左侧距离
oUl.style.left=oUl.offsetLeft+speed+'px';
} //定时器
var timer=setInterval(move, 30);
oDiv.onmouseover=function () {
clearInterval(timer);
};
oDiv.onmouseout=function () {
timer=setInterval(move, 30);
}; //往左滚动
document.getElementsByTagName('a')[0].onclick=function () {
speed=-2;
}; //往右滚动
document.getElementsByTagName('a')[1].onclick=function () {
speed=2;
};
};</script></head><body><a href="javascript:;">向左走</a><a href="javascript:;">向右走</a><div id="div1">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul></div></body></html>相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上就是深入JavaScript之定时器的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号