JavaScript实现简单的隐藏式侧边栏功能示例
网络 2018-10-06 1417
本文实例讲述了JavaScript实现简单的隐藏式侧边栏功能。分享给大家供大家参考,具体如下:
常见的隐藏式侧边栏,如分享、联系客服等。通过设置速度来实现滑入滑出的动态效果
以下是代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>www.jb51.net js侧边栏</title> <style type="text/css"> *{margin: 0;padding: 0;} #div1{width: 160px; height: 320px; background: #fff; /*border: 1px solid red;*/position: relative;left:-140px;top:100px;} #div1 .hide{width: 140px; height: 320px; background: cyan; float: left;position: absolute;left: 0;top: 0;} #div1 .show{width: 17px; height: auto;background: skyblue;border: 1px solid #000;float: right; position: absolute; top: 39%;right: 0;} </style> <script type="text/javascript"> window.onload=function(){ var oDiv=document.getElementById('div1'); var timer; oDiv.onmouseover=function(){ //startMove(10,0);speed,end startMove(0); //这里稍作优化,原来传入两个参数改为一个参数 }; oDiv.onmouseout=function(){ //startMove(-10,-140); startMove(-140); } function startMove(end){ /*var oDiv=document.getElementById('div1');*/ clearInterval(timer); timer=setInterval(function(){ var speed=0; //从-140到0,速度为正,从0到-140,速度为负 if(oDiv.offsetLeft>end){ speed=-10; }else{ speed=10; } if(oDiv.offsetLeft==end){ clearInterval(timer); }else{ oDiv.style.left=oDiv.offsetLeft+speed+'px'; } },30); } } </script> </head> <body> <div id="div1"> <div class="hide"> <ul> <li>qq</li> <li>weibo</li> <li>jb51</li> </ul> </div> <div class="show"> <span>分享到</span> </div> </div> </body> </html> |
这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试效果如下: