ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptによる動的サイドバーの実装例を詳しく解説

JavaScriptによる動的サイドバーの実装例を詳しく解説

高洛峰
高洛峰オリジナル
2016-12-07 10:20:281655ブラウズ

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;}

デフォルトのスタイルのサイドバーは、図に示すように非表示になります:

JavaScriptによる動的サイドバーの実装例を詳しく解説

マウスを移動すると、写真に示すように:

JavaScriptによる動的サイドバーの実装例を詳しく解説

以下は完全なコードです:





无标题文档

<script>
window.onload=function(){
  var odiv=document.getElementById(&#39;div1&#39;);
  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(&#39;div1&#39;);
clearInterval(timer);
   timer=setInterval(function (){
     
    if(odiv.offsetLeft==target)
    {
      clearInterval(timer);
      }
      else
      { 
    odiv.style.left=odiv.offsetLeft+speed+&#39;px&#39;;
      }
     
    },30)
   
  }
   
</script>

 
<body>
<div id="div1">
<span>侧边栏</span>
</div>
</body>


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。