2012-03-29 62 views
1

朋友你好我想在<li>使用切换当一个<li>是开放的,我想休息<li>亲近我已经试过这http://jsfiddle.net/MbTRD/1/但其没有工作,因为我想切换效果

$(function() { 
     $(".flyout").hide(); 
     $(".flyout").siblings("span").click(function() { 
      $(this).siblings(".flyout").toggle(500); 
     }); 
    }); 

请帮助谢谢

回答

1

http://jsfiddle.net/MbTRD/7/应该工作

你必须把$(".flyout").hide(500);在你的函数

但你还是要检查,如果你点击一个打开的菜单或不

这样

$(function() { 
     $(".flyout").hide(); 
     $(".flyout").siblings("span").click(function() { 
      if($(this).siblings(".flyout").is(':hidden')){ 
       $(".flyout").hide(500); 
      } 
      $(this).siblings(".flyout").toggle(500); 
     }); 
    }); 
0

是这样的?

$(function() { 
    $(".flyout").hide(); 
    $(".flyout").siblings("span").click(function() { 
     $('.flyout').hide(500);     
     $(this).siblings(".flyout").toggle(500); 
    }); 
}); 
+0

我不认为看到的元素关闭并重新打开是一个很好的用户体验的功能。 (再次点击一个已经打开的)你怎么看? – 2012-03-29 13:01:00

0

这应该做t他招:

$(function() { 
    $(".flyout").hide(); 
    $(".flyout").siblings("span").click(function() { 
     if($(this).siblings(".flyout").is(':hidden')) 
     { 
      $(".flyout").hide(); 
      $(this).siblings(".flyout").toggle(500); 
     } 
    }); 
}); 

Here is a jsfiddle如果你想尝试一下

+0

如果我点击一个已经打开的元素,那个元素将会做一个很好的展示(再次)。我不认为这样的特性可以称得上好工作!你怎么看? – 2012-03-29 13:02:36

+0

@ RokoC.Buljan我已经更新了我的答案 – 2012-03-29 13:14:05