码迷,mamicode.com
首页 > Web开发 > 详细

Js动画打开、关闭层的演示代码

时间:2015-04-15 13:35:50      阅读:143      评论:0      收藏:0      [点我收藏+]

标签: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>
<title>层展开、关闭</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
#main{width:500px; margin:100px; height:500px;border:1px solid red}
#test{border:1px solid red;display:none;width:10px;height:10px; background:yellow}
</style>
</head>
<body>
<input type="button" value="打开" id="bt" />
<input type="button" value="关闭" id="bt1" />
<div id="main"><div id="test"></div>
</div>
<div><A href="http://www.999jiujiu.com/">http://www.999jiujiu.com/</A></div>
</body>
</html>
<script type="text/javascript">
function $ (o) {
      return document.getElementById(o);
}
function XslideDown(obj,type,mX,num) {
            if(!type){return;}
                        try{
                         var type1=type=="height"?"marginTop":"marginLeft";
                         var type2=type=="height"?"top":"left";
                                 XSetCss(obj,[type1,XgetOffset(obj)[type2]+"px"]);
                                XSetCss(obj,[type,XgetOffset(obj)[type]+num+"px"]);
                        if(XgetOffset(obj)[type]<mX){
                         setTimeout(function(){XslideDown(obj,type,mX,num);},10);                        
                        }
                        else{
                                  XSetCss(obj,[type,mX])
                         }
                        }
                        catch(e){}
                }
function XslideUp(obj,type,mX,num) {
            if(!type){return;}
                        try{
                        var type1=type=="height"?"marginTop":"marginLeft";
                        var type2=type=="height"?"top":"left";
                                XSetCss(obj,[type1,XgetOffset(obj)[type2]+"px"]);
                                XSetCss(obj,[type,XgetOffset(obj)[type]-num+"px"]);
                        if(XgetOffset(obj)[type]>mX){                        
                         setTimeout(function(){XslideUp(obj,type,mX,num);},1);                        
                        }
                        else{
                                  XSetCss(obj,[type,mX])
                                  obj.style.display="none";
                         }
                        }
                        catch(e){}
                }
function XSetCss(obj,cssArgs){
        if(arguments.length==2)
        { 
          if(cssArgs.constructor==Object){
          for(var o in cssArgs)
                        {
                                if(obj.style[o]!="undefiend")
                                {
                                  obj.style[o]=cssArgs[o];                        
                                }                   
                        } 
                }
         if(cssArgs.constructor==Array&&cssArgs.length==2){
                                obj.style[cssArgs[0]]=cssArgs[1];                        
         
         }
        }
}
function XgetOffset (obj) {
                 return {
                                        height:obj.offsetHeight,
                                        width:obj.offsetWidth,
                                        top:parseInt((obj.parentNode.offsetHeight-obj.offsetHeight)/2),
                                        left:parseInt((obj.parentNode.offsetWidth-obj.offsetWidth)/2)
                                }
}
function XopenDiv(o){
                o.style.display="block";
                XslideDown(o,"width",400,10);
            XslideDown(o,"height",400,10);
}
function XcloseDiv(o){
                XslideUp(o,"width",10,10);
            XslideUp(o,"height",10,10);
}
$("bt").onclick=function(){
                XopenDiv($("test"))
}
$("bt1").onclick=function(){
            
        XcloseDiv($("test"))
}
</script>

Js动画打开、关闭层的演示代码

标签:js动画打开关闭层的演示代码

原文地址:http://blog.csdn.net/life66881/article/details/45057169

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!