<!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>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript"> 
$(document).ready(function(){
  $(".flip").mouseover(function(){
    $(".panel").slideDown(500);
  });
  $("#content").mouseleave(function(){
    $(".panel").slideUp(500);
  });
});
</script>
   
<style type="text/css"> 
div.panel,p.flip
{
  
margin:0px;
padding:5px;
text-align:center;border:solid 1px #c3c3c3;
}
div.panel
{
  
height:120px;
display:none;
}
</style>
   
<body>
 <div id="content" style="display:block;width:300px;">
<p class="flip">滑过这里</p>
<div class="panel">
<p>11111111111111111</p>
<p>2222222222222222222222</p>
</div>
 </div>
<div id="content" style="display:block;width:300px;">
<p class="flip">滑过这里</p>
<div class="panel">
<p>11111111111111111</p>
<p>2222222222222222222222</p>
</div>
 </div>
</body>
</html>请问下 如果我需要两个以上的这样的效果 需要的是效果一个一个的实现 而不是同时实现 应该这么做啊

解决方案 »

  1.   

    $(document).ready(function(){
      $(".flip").mouseover(function(){
        $(".panel").each(function(index){
    console.log(500*(index+1));
    var that = this;
    setTimeout(function(){$(that).slideDown(500);},500*(index+1));
    });
      });
      $("#content").mouseleave(function(){
    var size = $(".panel").size();
    console.log(size);
        $(".panel").each(function(index){
    console.log(500*(size - index));
    var that = this;
    setTimeout(function(){$(that).slideUp(500);},500*(size - index));
    });
      });
    });
    这样试试,给每一个绑定事件时,加个不同时间的延迟触发,试试吧
      

  2.   

     我是想 滑过一个div的时候只实现滑过的那个效果 其他的div不触发效果的 效果是一个一个实现的 而不是延迟实现
      

  3.   

    $(".flip").mouseover(function(){
    $(this).next(".panel").slideDown(500);
      });
      $("#content").mouseout(function(){
    $(".panel").slideUp(500);
      });那就改成这样吧,不过建议把content改为class去标记
    id在一个页面的唯一性,就算是jquery,也是有问题的。
    如果不改为class=content的话,你试试直接悬浮到第二个content,是没有办法slideUp的,改为class就没有问题了。
    只是建议。
      

  4.   

      把第二个里的class值换掉 跟第一个要不一样
      然后在script标签里加上相应的事件
    或者
      把class换成id  并让id值唯一
      然后在script标签里做相应修改 用$("#id值") 取元素
      

  5.   


    <!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>
    <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript"> 
    $(document).ready(function(){
      $("#p1").mouseover(function(){
        $("#div1").slideDown(500);
      });
      $("#content1").mouseleave(function(){
        $("#div1").slideUp(500);
      });
      $("#p2").mouseover(function(){
        $("#div2").slideDown(500);
      });
      $("#content2").mouseleave(function(){
        $("#div2").slideUp(500);
      });
    });
    </script>
        
    <style type="text/css"> 
    div.panel,p.flip
    {
       
    margin:0px;
    padding:5px;
    text-align:center;
     
    border:solid 1px #c3c3c3;
    }
    div.panel
    {
       
    height:120px;
    display:none;
    }
    </style>
        
    <body>
     <div id="content1" style="display:block;width:300px;">
    <p id="p1" class="flip">滑过这里</p>
    <div id="div1" class="panel">
    <p>11111111111111111</p>
    <p>2222222222222222222222</p>
    </div>
     </div>
    <div id="content2" style="display:block;width:300px;">
    <p id="p2" class="flip">滑过这里</p>
    <div id="div2" class="panel">
    <p>11111111111111111</p>
    <p>2222222222222222222222</p>
    </div>
     </div>
    </body>
    </html>
    改成这样就好了 
      

  6.   

    你的这样太麻烦了 如果我有10几个这样的效果呢 那有代码就太多了 
    <!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>Slide</title>
    <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript"> 
    $(document).ready(function(){
      $(".flip").mouseover(function(){
        $(this).next().slideDown(500);
      });
      $(".content").mouseleave(function(){
        $(this).children().next().slideUp(500);
      });
    });
    </script>
        
    <style type="text/css"> 
    div.panel,p.flip
    {
       
    margin:0px;
    padding:5px;
    text-align:center;
     
    border:solid 1px #c3c3c3;
    }
    div.panel
    {
       
    height:120px;
    display:none;
    }
    </style>
        
    <body>
     <div class="content" style="display:block;width:300px;">
    <p class="flip">滑过这里</p>
    <div class="panel">
    <p>11111111111111111</p>
    <p>2222222222222222222222</p>
    </div>
     </div>
    <div class="content" style="display:block;width:300px;">
    <p class="flip">滑过这里</p>
    <div class="panel">
    <p>11111111111111111</p>
    <p>2222222222222222222222</p>
    </div>
     </div>
    </body>
    </html>
    改了下 这样就好了 javascript不用改了 
    要几个 就复制几个上面的好了  class的值不要改  结构不要变