JS实现的简单折叠展开动画效果示例
程序员文章站
2023-11-14 08:41:28
本文实例讲述了js实现的简单折叠展开动画效果。分享给大家供大家参考,具体如下:
&...
本文实例讲述了js实现的简单折叠展开动画效果。分享给大家供大家参考,具体如下:
<!doctype = html> <html> <head> <title>www.jb51.net 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> <div class="red" id="cf1"><div class="blue" id="cf">分享</div></div> <script> window.onload = function(){ var ondiv = document.getelementbyid("cf1"); ondiv.onmouseover = function(){ startmove(0); } ondiv.onmouseout = function(){ startmove(-200); } } var timer ; function startmove(target){ clearinterval(timer);//清除定时器,以免多次触发定时器导致速度越来越快而不是匀速前进 var ondiv1 = document.getelementbyid("cf1"); timer = setinterval(function(){ var speed = 0; if(ondiv1.offsetleft<target){ speed = 10; }else{ speed = -10; } if(ondiv1.offsetleft==target){ clearinterval(timer); } else{ ondiv1.style.left = ondiv1.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、鼠标作用对象设置为父级div最好,不然会出现闪烁情况(刚调用onmouseover,目标移除,又调用了onmouseout)
5、注意清除定时器(①、防止移动时速度不稳定 ②、到目标位置停止运动)
三、其他:
q:谷歌浏览器解除禁止弹出窗口?
a:设置——高级设置——隐私设置——内容设置——弹出式窗口,进行相关设置。
更多关于javascript相关内容感兴趣的读者可查看本站专题:《javascript页面元素操作技巧总结》、《javascript运动效果与技巧汇总》、《javascript动画特效与技巧汇总》、《javascript图形绘制技巧总结》、《javascript切换特效与技巧总结》、《javascript错误与调试技巧总结》、《javascript数据结构与算法技巧总结》及《javascript数学运算用法总结》
希望本文所述对大家javascript程序设计有所帮助。