开发者

Trigger JQuery function when passed half way down the page

Is there a way to tell if you have scrolled passed the center of the web page or in other words, when you have scrolled passed exactly half of the web page a开发者_StackOverflownd your scrollbar is situated in the lower half of the browser window?

I want to be able to trigger this: $('.pineapple-man').show(); when I have scrolled down passed half of the page?

Is this possible at all?

Your help would be so kind!


You can get the pixel amount of an element has been scrolled by using .scrollTop(). To listen to scroll events use .scroll().

When you want to identify the halfway, use height of the scroll:

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

If you are scrolling some other element than the whole window/body, please feel free to change the selectors.

To make the showing one-timer, add the removal of scroll event listener, by adding the following after the .show() call:

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


I guess you want to do something like this:

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

where scrollTop() gets the current horizontal position and height() defines the document height.


See the scroll event and the scrollTop method.


you can use the focus event if you scroll down to it (just like jQuery uses for their comments)

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜