2014-09-03 49 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

相關問題