想象这是我的页面:
<p>hello</p> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <p class="myPara">My Paragraph</p>
当用户向下滚动到类“myPara”的段落,而不是之前,我如何警告消息?
解决方法
怎么样:
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毫秒:
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); } });