2014-09-03 65 views
0

我做了一个jQuery滑动向上/向下Nav.Menu。你可以在这里看到:jQuery - 我怎样才能停止滑动向上/向下的行为,而点击

<pre>[http://jsfiddle.net/mobilat/d4L0z7fa/][1]</pre> 

如果你点击第一个'MainNav1',面板打开/关闭。一切安好。

但是,如果您点击MainNav1并在此之后,在MainNav2 ans ..3 ..所有面板都将打开。 在另一个面板/弹出窗口打开之前,应该关闭第一个面板/弹出窗口。

我不知道,我该如何解决这个问题。

感谢您的提示/帮助。 Link

回答

1

我重置了slideDown类切换之前:

if ($('#Slider' + index).hasClass("slideup")) { 

     // .slideup any .slidedown divs 
     $('.slidedown').removeClass("slidedown").addClass("slideup"); 

     $('#Slider' + index).removeClass("slideup").addClass("slidedown"); 
    } else { 
     $('#Slider' + index).removeClass("slidedown").addClass("slideup"); 
    } 

http://jsfiddle.net/d4L0z7fa/10/

-1

我已经添加了代码来查找ID以“Slider”和类“slidedown”开头的元素,然后使它们滑动。很好地工作。

$('li.noLinkTrigger').each(function(index) { 

    $(this).addClass('item-' + index); 

// console.log(index + ": " + $(this).text()); 

    $(this).click(function() { 
     //$(this).addClass("foo"); 
     //e.preventDefault(); 
     if ($('#Slider' + index).hasClass("slideup")) 
     { 
      $('.slidedown').removeClass('slidedown').addClass('slideup'); 
      $('#Slider' + index).removeClass("slideup").addClass("slidedown"); 
     } 
     else 
     { 
      $('#Slider' + index).removeClass("slidedown").addClass("slideup"); 
     } 
    }); 

}); 

http://jsfiddle.net/d4L0z7fa/11/

+0

在您的解决方案是不可能的折叠导航,如果你在同一个元素点击两次。 – denisol 2014-09-03 11:51:56

+0

修正了它。只需要把它放在if语句中 – danhardman 2014-09-03 11:56:45

相关问题