如何检测用户何时使用jQuery滚动到页面上的某个区域?

可能重复:
如何检测页面滚动到jQuery中的某个点?
滚动后检查元素是否可见

如何检测用户何时到达此div:





























I have been reached

编辑

得到了这个问题的答案:

滚动后检查元素是否可见

所以我这样做了:

 function isScrolledIntoView(elem) { var docViewTop = $(window).scrollTop(); var docViewBottom = docViewTop + $(window).height(); var elemTop = $(elem).offset().top; var elemBottom = elemTop + $(elem).height(); return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom) && (elemBottom = docViewTop)); } $(window).scroll(function() { if(isScrolledIntoView($('#theTarget'))) { alert('visible'); } }); 

 $(document).on('scroll', function() { if($(this).scrollTop()>=$('#theTarget').position().top){ yourActionHere(); } }) 

比较滚动和元素位置。 比打电话给你的function。 不需要插件。

我认为你可以通过比较div位置的值来实现你的目标

 var divPosition = $("#theTarget").offset().top; 

和窗口滚动位置

 var scrollPosition = window.scrollY; 

有一个jquery出现的插件,我相信你完全按照你的要求。

http://plugins.jquery.com/project/appear

 $('#theTarget').appear(function() { $(this).text('Hello world'); }); 

它还与resize,初始窗口大小等等有关,等等。