【问题标题】:run jquery code only if window scroll position is eqal to 0仅当窗口滚动位置等于 0 时才运行 jquery 代码
【发布时间】:2014-12-25 06:04:15
【问题描述】:

我正在尝试使用 If 语句编写一个仅在窗口的滚动位置为 0 时才有效的代码。一旦有人滚动页面,代码就不能再工作了。

当鼠标进入我的 div .slideshow_2 时,页面应该从 75px 滚动,当鼠标离开时,从 75px 向后滚动...但前提是我的窗口滚动位置为零。

我在定义窗口滚动位置、检查它是否为 0 以及我的 if 条件时遇到了麻烦。

这是我的代码:

if ($(window).scrollTop() == 0){

    $('.slideshow_2').mouseenter(function(){
        $("html , body").animate({ scrollTop: 75 }, 500)
    });

    $('.slideshow_2').mouseleave(function(){
        $("html , body").animate({ scrollTop: -75 }, 500);
    });
}

我的条件是:if ($(window).scrollTop() == 0),我想这是为了检查页面是否还没有滚动,但是我做错了什么......

这是一个 jsfiddle:http://jsfiddle.net/uynrhr1c/

谁能帮我解决这个问题?

非常感谢

【问题讨论】:

    标签: jquery if-statement conditional-statements scrolltop scroll-position


    【解决方案1】:

    您需要在处理程序中添加条件:

     $('.slideshow_2').mouseenter(function(){
       if($(window).scrollTop() == 0){
          $("html , body").animate({ scrollTop: 75 }, 500)
       }
     });
      $('.slideshow_2').mouseleave(function(){
        if($(window).scrollTop() == 0)
        $("html , body").animate({ scrollTop: -75 }, 500);
     });
    

    Working Demo

    【讨论】:

    • 非常感谢@Milind Anantwar!它解决了我的问题!我已经能够通过这个更正来对更大的 jquery 代码进行排序!非常感谢
    • @mmdwc:很高兴它有帮助:)
    猜你喜欢
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多