js实现页面右下角弹出提示窗口效果

发布时间:2020-10-09编辑:脚本学堂
页面右下角弹出提示窗口,原生js脚本实现的一例网页特效,页面右下角弹出提示窗,可自定义内容,非常不错的js特效代码。

功能:
3页面右下角提示框(弹出提示窗口效果),可自定义内容,可用于显示悬浮广告。

代码:
 

复制代码 代码示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>右下角弹窗提示框效果 - www.jb200.com</title>
</head>
<style type="text/css">
body { background:#333333;}
#winpop { width:200px; height:0px; position:absolute; right:0; bottom:0; border:1px solid #999999; margin:0; padding:1px; overflow:hidden; display:none; background:#FFFFFF}
#winpop .title { width:100%; height:20px; line-height:20px; background:#FFCC00; font-weight:bold; text-align:center; font-size:12px;}
#winpop .con { width:100%; height:80px; line-height:80px; font-weight:bold; font-size:12px; color:#FF0000; text-decoration:underline; text-align:center}
#silu { font-size:13px; color:#999999; position:absolute; right:0; text-align:right; text-decoration:underline; line-height:22px;}
.close { position:absolute; right:4px; top:-1px; color:#FFFFFF; cursor:pointer}
</style>
<script type="text/javascript">
function tips_pop(){
var MsgPop=document.getElementById("winpop");//获取窗口这个对象,即ID为winpop的对象
var popH=parseInt(MsgPop.style.height);//用parseInt将对象的高度转化为数字,以方便下面比较
 if (popH==0){ //如果窗口的高度是0
 MsgPop.style.display="block";//那么将隐藏的窗口显示出来
show=setInterval("changeH('up')",2);//开始以每0.002秒调用函数changeH("up"),即每0.002秒向上移动一次
 }
else { //否则
 hide=setInterval("changeH('down')",2);//开始以每0.002秒调用函数changeH("down"),即每0.002秒向下移动一次
}
}
function changeH(str) {
 var MsgPop=document.getElementById("winpop");
 var popH=parseInt(MsgPop.style.height);
 if(str=="up"){ //如果这个参数是UP
if (popH<=100){//如果转化为数值的高度小于等于100
MsgPop.style.height=(popH+4).toString()+"px";//高度增加4个象素
}
else{
clearInterval(show);//否则就取消这个函数调用,意思就是如果高度超过100象度了,就不再增长了
}
 }
 if(str=="down"){
if (popH>=4){ //如果这个参数是down
MsgPop.style.height=(popH-4).toString()+"px";//那么窗口的高度减少4个象素
}
else{//否则
clearInterval(hide);//否则就取消这个函数调用,意思就是如果高度小于4个象度的时候,就不再减了
MsgPop.style.display="none";//因为窗口有边框,所以还是可以看见1~2象素没缩进去,这时候就把DIV隐藏掉
}
 }
}
window.onload=function(){//加载
document.getElementById('winpop').style.height='0px';//我不知道为什么要初始化这个高度,CSS里不是已经初始化了吗,知道的告诉我一下
setTimeout("tips_pop()",800); //3秒后调用tips_pop()这个函数
}
</script>
<body>
<div id="silu">

<h2>首先,我们需要知道理解一下动画的概念,动画就是随着时间的变化产生位置移动</h2>

在JS中用到的函数是setInterval(),具体的使用请去看javascript相关文档

<h3>下面我们来想一下本例子的思路:</h3>

这个时候我们会去猜想:

如果没有窗口,就让它出来.如果窗口存在,那么就让它消失.

对,就是if..else..条件判断了~~

那么窗口消失的状态是什么呢?

没错,就是height=0.

height=0的时候就是隐藏

height=100px的时候就是显示

所以利用高度的变化就是效果实现的方法.

而且是随着时间一点点的位置变化造成动画了效果

好了,我也就不废话了,我们菜鸟请看注释~~

By FFEEDD
<button onclick="tips_pop()">测试按钮</button>
</div>
<div id="winpop">
 <div class="title">您有新的消息<span class="close" onclick="tips_pop()">X</span></div>
<div class="con">未读信息(1)</div>
</div>
</body>
</html>