如何检测页面滚动到jQuery中的某个点?

前端之家收集整理的这篇文章主要介绍了如何检测页面滚动到jQuery中的某个点?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
想象这是我的页面: @H_404_2@<p>hello</p> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <p class="myPara">My Paragraph</p>

用户向下滚动到类“myPara”的段落,而不是之前,我如何警告消息?

解决方法

怎么样: @H_404_2@var target = $(".myPara").offset().top; var interval = setInterval(function() { if ($(window).scrollTop() >= target) { alert("made it!"); clearInterval(interval); } },250);

这里有一个例子:http://jsfiddle.net/andrewwhitaker/24M3n/1/

您可能想要将事件处理程序附加到窗口滚动事件,但是John Resig advises against it(向下滚动到“最佳实践”)。

更新:As @AbdulJabbarWebBestow points out,它可能是一个坏主意,不必要地运行一个函数每250ms。这是一个更新的示例,只运行一次,第一次用户滚动后250毫秒:

@H_404_2@var target = $(".mypara").offset().top,timeout = null; $(window).scroll(function () { if (!timeout) { timeout = setTimeout(function () { console.log('scroll'); clearTimeout(timeout); timeout = null; if ($(window).scrollTop() >= target) { alert('made it'); } },250); } });

示例:http://jsfiddle.net/24M3n/858/

猜你在找的jQuery相关文章