您好,欢迎访问一九零五行业门户网

JS做出折叠展开动画(附代码)

这次给大家带来js做出折叠展开动画(附代码),js做出折叠展开动画(附代码)的注意事项有哪些,下面就是实战案例,一起来看一下。
<!doctype = html> <html>  <head>   <title> js折叠展开动画</title>   <style>   body{    margin: 0px;    padding: 0px;   }   .red{    background-color:red;    width:200px;    height:200px;    position:relative;    left:-200px;    top:0px;   }   .blue{    background:blue;    width:20px;    height:50px;    position:absolute;    left:200px;    top:75px;   }   </style>  </head>  <body>   <p class="red" id="cf1"><p class="blue" id="cf">分享</p></p>   <script>   window.onload = function(){    var onp = document.getelementbyid(cf1);    onp.onmouseover = function(){     startmove(0);    }    onp.onmouseout = function(){     startmove(-200);    }   }   var timer ;   function startmove(target){    clearinterval(timer);//清除定时器,以免多次触发定时器导致速度越来越快而不是匀速前进    var onp1 = document.getelementbyid(cf1);    timer = setinterval(function(){    var speed = 0;    if(onp1.offsetleft<target){ speed = 10; }else{ speed = -10; } if(onp1.offsetleft==target){ clearinterval(timer); } else{ onp1.style.left = onp1.offsetleft+speed+'px'; } },30) } </script>  </body> </html>
小结:
一、css部分:
1、别忘记样式初始化;
2、复习css文件的引用方式;(类引用方式)
3、复习绝对定位和相对定位关系(父关系用relative;子关系用absolute)
二、js部分:
1、element.style.left & element.offsetleft区别:
① 前者单位是px,是字符串;后者单位是数值;
2、思路开始不够清晰,未能抽象出鼠标放上和移开关键变量——目标位置不同而已
3、函数参数尽可能少(在能达成目标的情况下)
4、鼠标作用对象设置为父级p最好,不然会出现闪烁情况(刚调用onmouseover,目标移除,又调用了onmouseout)
5、注意清除定时器(①、防止移动时速度不稳定 ②、到目标位置停止运动)
三、其他:
q:谷歌浏览器解除禁止弹出窗口?
a:设置——高级设置——隐私设置——内容设置——弹出式窗口,进行相关设置。
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
vue+vue-router+vuex操作权限
v-bind与v-on使用案例详解
以上就是js做出折叠展开动画(附代码)的详细内容。
其它类似信息

推荐信息