javascript实现延时显示提示框特效代码
本文实例讲述了JavaScript使用setTimeout实现延迟弹出警告框的方法。分享给大家供大家参考。具体如下:
先给大家展示一个延迟/定时/强制弹出窗口的JS代码
参数解释:
设置时间:Then.setTime(Then.getTime()+1*60*60*1000)
mylove/ttan.htm(过渡网页)
ttan.htm中的http://弹出网页/是要弹出的网页
scroll:1(滚动条)
status:1(状态栏)
help:1(帮助按钮)
toolbar=1(工具栏)
resizable:1(是否可以用鼠标拖动改变大小)
dialogWidth:800px(宽度)
dialogHeight:600px(高度)
3000(延迟弹出的时间,单位:毫秒。1秒=1000毫秒)
<!--弹出广告-->
<scriptlanguage="JavaScript">
functionGet(){
varThen=newDate()
Then.setTime(Then.getTime()+1*60*60*1000)
varcookieString=newString(document.cookie)
varcookieHeader="Cookie1="
varbeginPosition=cookieString.indexOf(cookieHeader)
if(beginPosition!=-1){
}else
{document.cookie="Cookie1=POPWIN;expires="+Then.toGMTString()
focusid=setTimeout("focus();window.showModelessDialog('ttan.htm','','scroll:0;status:0;help:0;resizable:0;d
ialogWidth:0px;dialogHeight:0px')",3000)
window.focus();
}
}Get();
</script>
<!--弹出结束-->
ttan.htm的内容:
<scriptlanguage="javascript">
<!--
window.open("http://弹出网页/");
//-->
</script>
<scriptLANGUAGE="JavaScript">
<!--
setTimeout('window.close();',0)
//-->
</script>
可以实现同一IP一定时间内只弹出一次,可以实现延迟弹出,可以实现强制弹出!!
下面的代码执行后点击按钮会延迟弹出一个警告框,主要演示了setTimeout的使用方法
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>延时显示提示框</title>
<style>
#div1{
float:left;
width:60px;
height:60px;
background-color:aqua;
}
#div2{
position:relative;
float:left;
margin:010px;
width:200px;
height:200px;
background-color:#cccccc;
display:none;
}
</style>
<script>
window.onload=function(){
varoDiv1=document.getElementById('div1');
varoDiv2=document.getElementById('div2');
vartimer=null;
//oDiv1.onmouseover=function(){
//clearTimeout(timer);
//oDiv2.style.display='block';//鼠标移入div1时显示div2
//};
//
//oDiv1.onmouseout=function(){
//timer=setTimeout(function(){
//oDiv2.style.display='none';//鼠标移除div1时隐藏div2
//},500);//为了从div1移入div2,所以移出div1时div2隐藏应该有一个延时设置
//};
//
//oDiv2.onmouseover=function(){
//clearTimeout(timer);//清除延时器设置,当鼠标移入div2时,div2应当显示
//};
//
//oDiv2.onmouseout=function(){
//timer=setTimeout(function(){
//oDiv2.style.display='none';//当鼠标移出div2时,div2应当隐藏
//},500);//当鼠标移出div2并移入div1时,div2会闪烁一下再显示,设置一个延时,清除闪烁的效果;
////但是设置延时器之后,鼠标移入div1时,div2却隐藏了,原因是setTimeout,
////应当清除延时器,在oDiv1.onmouseover事件中添加,清除延时器的代码
//};
//由于这四个事件中代码两两对应地相同或相似,可以做如下简化处理:
oDiv1.onmouseover=oDiv2.onmouseover=function(){
clearTimeout(timer);
oDiv2.style.display='block';
/*鼠标移入div1时显示div2,虽然oDiv2.onmouseover事件中没有写oDiv2.style.display='block';
但是实际上oDiv2是'block'状态,多写一句代码没有实质性影响*/
};
oDiv1.onmouseout=oDiv2.onmouseout=function(){
timer=setTimeout(function(){
oDiv2.style.display='none';//鼠标移除div1时隐藏div2
},500);//为了从div1移入div2,所以移出div1时div2隐藏应该有一个延时设置
};
//简化后的代码执行结果跟前面的代码效果完全一致.
}
</script>
</head>
<body>
<h2>延时提示框</h2>
<divid="div1"></div>
<divid="div2"></div>
</body>
</html>
延时提示框编写时需要注意的点都记录在注释当中,逐个对照注意一下,这个功能看过视频教程之后实现起来比较顺畅,原因是在编写代码之前对所需功能做了一个列表按照列表一一实现,出现问题再进行相应的调整比上来直接写代码强多了。