如何使用jquery检测垂直滚动位置?

时间:2013-08-02 18:37:53

标签: javascript jquery html events vertical-scrolling

使用jquery,如何设置一个事件,当有一个垂直滚动可见时,以及当你从页面的上半部分变为页面的下半部分时触发,反之亦然。

所以例如,如果垂直滚动条在那里,然后我正在页面的上半部分的某个地方,然后向下移动所以我在页面的下半部分,功能发生了。然后,如果我再次向上移动,那么我再次进入上半部分,就会发生这个功能。

感谢。

3 个答案:

答案 0 :(得分:4)

var midHeight = jQuery(window).height() / 2 //Splits screen in half
$(window).scroll(function () {
    if ($(window).scrollTop() > midHeight) {
        //Do something on bottom
    } else {
        //Do something on top
    }
})

答案 1 :(得分:1)

jQuery确实有这些方法可用于元素:

.scrollTop() - 获取视口中元素的顶部滚动位置

.scrollLeft() - 在视口中的元素上获得左滚动位置

还有滚动事件 - 当视口/元素在另一个(或窗口)中滚动时触发:

.scroll()

答案 2 :(得分:0)

$(window).scroll(function () { 
  if ($(window).scrollTop() > $('body').height() / 2) {
      //code goes here...
  } 
});

检测滚动

var s = $('body').scrollTop();

jQuery scrollTop()

  

描述:获取滚动条的当前垂直位置   匹配元素集中的第一个元素或设置垂直元素   每个匹配元素的滚动条的位置。

您可能有兴趣知道:

$().scrollTop()//how much has been scrolled
$().innerHeight()// inner height of the element
DOMElement.scrollHeight//height of the content of the element

JSFIDDLE DEMO