【问题标题】:Trigger JQuery function when passed half way down the page在页面中途传递时触发 JQuery 函数
【发布时间】:2011-02-10 13:28:48
【问题描述】:

有没有办法判断您是否滚动通过了网页的中心,或者换句话说,当您滚动通过了网页的一半并且您的滚动条位于浏览器窗口的下半部分时?

我希望能够触发这个: $('.pineapple-man').show();当我向下滚动通过了一半的页面?

这可能吗?

您的帮助会非常好!

【问题讨论】:

标签: javascript jquery


【解决方案1】:

你可以通过.scrollTop()获取一个元素被滚动的像素数量。要收听滚动事件,请使用.scroll()

当你想识别中途时,使用滚动高度:

$(window).scroll(function () { 
  if ($(window).scrollTop() > $('body').height() / 2) {
    $('.pineapple-man').show();
  } 
});

如果您滚动的不是整个窗口/主体,请随意更改选择器。

要使显示单计时器,请添加删除 scroll 事件侦听器,方法是在 .show() 调用之后添加以下内容:

$(window).unbind('scroll');

【讨论】:

  • 嘿@jawa,您的解决方案效果很好!只有一件事,您忘记了 height > $('body').height() 后面的括号,非常感谢您的帮助!
【解决方案2】:

我猜你想做这样的事情:

if($(document).scrollTop() > $(document).height()/2){
   $('.pineapple-man').show();
}

其中scrollTop() 获取当前水平位置,height() 定义文档高度。

【讨论】:

    【解决方案3】:

    查看scroll 事件和scrollTop 方法。

    【讨论】:

      【解决方案4】:

      如果你向下滚动到焦点事件,你可以使用它(就像 jQuery 用于他们的 cmets)

      jQuery('selector').focus(function() {
        jQuery('.page').show();
      });
      

      【讨论】:

        猜你喜欢
        • 2020-05-05
        • 2014-02-13
        • 1970-01-01
        • 1970-01-01
        • 2021-06-01
        • 2012-08-13
        • 1970-01-01
        • 2016-07-07
        • 1970-01-01
        相关资源
        最近更新 更多