1. 程式人生 > >javascript的setTimeout實現延時提示框

javascript的setTimeout實現延時提示框

直接程式碼:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
#div1{ width: 100px; height: 100px; background: skyblue; border: 1px solid black;float: left; margin-right: 10px;}
#div2{ width: 200px; height: 200px; border: 1px solid black;background: rgba(0,0,0,0.3);/*IE不相容*/ color: white;float: left; display: none; } 
</style>
<script type="text/javascript">
window.onload=function(){
var oDiv1=document.getElementById('div1');
var oDiv2=document.getElementById('div2');
var timer=null;//建一個變數用來儲存定時器,方便開關。
oDiv1.onmouseover=function()//step1:移入div1顯示div2
{
clearTimeout(timer);//step5:避免移出提示框後移入div1,提示框消失。實現了之前的效果,最後再加上這句
oDiv2.style.display='block';

}

oDiv1.onmouseout=function(){//step2:移出div1,延時隱藏div2

timer=setTimeout(function(){
oDiv2.style.display='none';
},1000);

}

oDiv2.onmouseover=function(){
clearTimeout(timer);
//step3:滑鼠移出div1移入提示框,提示框不消失,則應關閉step2的定時器
}

oDiv2.onmouseout=function(){
timer=setTimeout(function(){
oDiv2.style.display='none';
},1000);
//step4:滑鼠移出提示框,1秒後再消失
}
}
</script>
</head>
<body>
<div id="div1">
定時器練習
</div>
<div id="div2">
這是一個延時提示框
</div>
</body>
</html>