如何检测用户何时使用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,初始窗口大小等等有关,等等。