2013-08-02 49 views
3

使用jquery,如何设置一个事件,当垂直滚动可见时,以及从页面的上半部分切换到下半部分时,触发事件,反之亦然。因此,例如,如果垂直滚动条在那里,然后我正在页面上半部分的页面上查找某处,然后向下移动,因此我处于页面的下半部分,该功能发生。然后如果我移回来,所以我又在上半场,这个功能就会发生。如何使用jquery检测垂直滚动位置?

谢谢。

回答

1

以及jQuery不会有这些方法,您可以在元素上使用:

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

.scrollLeft() - 获得在视口中

一个元素左滚动位置

也有是在滚动事件 - 触发另一个(或窗口)内,当视口/元件滚动:

.scroll()

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 
    } 
}) 
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