jQuery - 如何在点击时停止上滑/下滑行为

时间:2014-09-03 11:37:03

标签: jquery css toggle slide

我已经制作了一个jQuery向上/向下滑动Nav.Menu。你可以在这里看到它:

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

如果您点击第一个&#39; MainNav1&#39;面板打开/关闭。一切都很好。

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

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

感谢您的提示/帮助。     Link

2 个答案:

答案 0 :(得分: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 :(得分:-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/