javascript 实现动态侧边栏
总的来说就是利用 鼠标悬停onmouseover   和  鼠标移除onmouseout 这两个时间来完成的。
首先是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;}
默认的样式 侧边栏是隐藏起来的如图:
当鼠标移入以后如图:
下面是完整代码:
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/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;}
</style>
<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>
</head>
 
<body>
<div id="div1">
<span>侧边栏</span>
</div>
</body>
</html>
   
 
   