Slidetoggle脚本没有切换

时间:2014-02-11 15:31:39

标签: javascript jquery toggle show-hide slidetoggle

我有一个不起作用的切换幻灯片。花几个小时尝试/学习编辑和重写这个东西,但不知何故,可见和不可思议的幻灯片不起作用。

有人可以帮助我使用js脚本:SEE THE FIDDLE

JS:

$('.header .ullie').hide();

  $('.header h2 a').click(function() {
  $(".header h2").not(this).next(".header .ullie").slideUp("slow");
  $(this).next(".header .ullie").slideToggle("slow");
  return false;
});

$('.header h3 a').click(function() {
  $(".header h3").not(this).next(".header .ullie").slideUp("slow");
  $(this).next(".header .ullie").slideToggle("slow");
  return false;
});

HTML:

<div id="foldercontents">
<ul class="ullie">
<li class="header">
<h2><a href="javascript:void(0);">testbutton</a></h2>
<ul class="ullie">
    <li class="foldercontent">
        <h3>title</h3>
        <ul class="ullie"><li>row 1</li></ul> 
 </li></ul>
 </li>

 <!-- second, duplicated from first -->
 <li class="header">
<h2><a href="javascript:void(0);">testbutton2</a></h2>
<ul class="ullie">
    <li class="foldercontent">
        <h3>title</h3>
        <ul class="ullie"><li>row 2</li></ul> 
 </li></ul>
 </li>

</ul>
</div>         

SEE THE FIDDLE *增加了公共图书馆

1 个答案:

答案 0 :(得分:1)

我假设您正在寻找something like this

$('ul li ul').hide();

$('.header > * > a, .foldercontent > * > a').click(function () {
    $(this).parent().siblings().slideToggle("slow");
});

你也可以使用margin:0; padding:0;来阻止跳跃而不是overflow:hidden,但这取决于你

另请注意,您不需要<a>标记,如果您愿意,可以将它们仅应用于标题