【问题标题】:jQuery Toggle don't stop toggling by scrollingjQuery Toggle 不会通过滚动停止切换
【发布时间】:2015-09-20 13:58:58
【问题描述】:

你好,Jquery 切换有点问题。

当我滚动到 div 切换时不想停下来玩一会儿。

我不知道如何只触发一次在 div 入口上的切换并将其设置回 div 出口(从顶部)。

这是我的代码

$(document).ready(function(){

  $(".fa-home-mini").css("display", "none");

    $('.fa-home-mini').click(function () {

            if($('.navi').is(':visible')){

            $('.navi').toggle('slide', {
                direction: 'left'
            }, 1000);

        }
           else{          
                $('.navi').toggle('slide', {
                    direction: 'left'
                }, 1000);           
            }       
});

$(window).scroll( function() {
    var value = $(this).scrollTop();
    if ( value > 480 ){
        $(".fa-home-mini").css("display", "block");
        $('.fa-home-mini').trigger('click');

        }

    else
    {
        $(".fa-home-mini").css("display", "none");
        $(".navi").css("display", "block");


    }

});

});

【问题讨论】:

    标签: javascript jquery events triggers toggle


    【解决方案1】:

    您可以在 if 块中使用 off 方法,如下所示:

    if ( value > 480 ){
        $(".fa-home-mini").css("display", "block");
        $('.fa-home-mini').trigger('click');
        $(window).off('scroll')
    }
    

    另一种方法是:

    var flag = false;
    $(window).scroll( function() {
        var value = $(this).scrollTop();
        if ( value > 480 ){
            if(!flag) {
              $(".fa-home-mini").css("display", "block");
              $('.fa-home-mini').trigger('click');
              flag = true;
          }
        }
        else
        {
            $(".fa-home-mini").css("display", "none");
            $(".navi").css("display", "block");
        }
    });
    

    【讨论】:

    • 请试试这个 $(window).off('scroll') 而不是 $(document).off('scroll')。第二种方法怎么样?
    • 谢谢你,mutch 可以与 $(window).off('scroll'); 一起使用;
    • 但如果我滚动回顶部,“$(".navi")” 不会切换回来并保持不可见
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多