04月24th

js特效:自动弹出网页右下角消息提示框特效

DIY前端设计2420℃我来说两句!

在JS中用到的函数是setInterval(),具体的使用请去看javascript相关文档 下面我们来想一下本例子的思路: 这个时候我们会去猜想: 如果没有窗口,就让它出来.如果窗口存在,那么就让它消失. 对,就是if..else..条件判断了~~ 那么窗口消失的状态是什么呢? 没错,就是height=0. height=0的时候就是隐藏 height=100px的时候就是显示 所以利用高度的变化就是效果实现的方法. 而且是随着时间一点点的位置变化造成动画了效果 好了,我也就不废话了,不懂的js代码里有注释!

<!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>

      右下角的弹窗,消息框

    </title>

  </head>

  <style type="text/css">

    #winpop { width:200px; height:0px; position:absolute; right:5px; bottom:5px;

    border:1px solid #999999; margin:0; padding:1px; overflow:hidden; display:none;

    background:url(http://www.niutw.com/images/bg.png) #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){         //如果窗口的高度是0MsgPop.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"){     //如果这个参数是UPif (popH<=100){    //如果转化为数值的高度小于等于100MsgPop.style.height=(popH+4).toString()+"px";//高度增加4个象素}else{clearInterval(show);//否则就取消这个函数调用,意思就是如果高度超过100象度了,就不再增长了}}if(str=="down"){if (popH>=4){       //如果这个参数是downMsgPop.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">

      <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>

本文出自:DIY博客园,链接:https://www.diybloghome.com/frontlogy/791.html,转载请注明!