Javascriptで動的サイドバーを実装
一般的にはマウスホバーonmouseoverとマウス除去onmouseoutの2回で完了します。
最初は HTML 構造です
<body> <div id="div1"> <span>侧边栏</span> </div> </body>
次に CSS スタイル:
#div1{ width:150px; height:200px; background:#999999; position:absolute; left:-150px;} span{ width:20px; height:70px; line-height:23px; background:#09C; position:absolute; right:-20px; top:70px;}
デフォルトのスタイルのサイドバーは、図に示すように非表示になります:
マウスを移動すると、写真に示すように:
以下は完全なコードです:
无标题文档 <script> window.onload=function(){ var odiv=document.getElementById('div1'); odiv.onmouseover=function () { startmove(0,10);//第一个参数为div left属性的目标值 第二个为 每次移动多少像素 } odiv.onmouseout=function () { startmove(-150,-10); } } var timer=null; function startmove(target,speed) { var odiv=document.getElementById('div1'); clearInterval(timer); timer=setInterval(function (){ if(odiv.offsetLeft==target) { clearInterval(timer); } else { odiv.style.left=odiv.offsetLeft+speed+'px'; } },30) } </script> <body> <div id="div1"> <span>侧边栏</span> </div> </body>