Mik*_*ike 33 javascript jquery
如何检测用户何时到达此div:
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<div id="theTarget">I have been reached</div>
Run Code Online (Sandbox Code Playgroud)
得到了这个问题的答案:
所以我这样做了:
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 <= docViewBottom) && (elemTop >= docViewTop));
}
$(window).scroll(function() {
if(isScrolledIntoView($('#theTarget')))
{
alert('visible');
}
});
Run Code Online (Sandbox Code Playgroud)
Sim*_*old 50
$(document).on('scroll', function() {
if($(this).scrollTop()>=$('#theTarget').position().top){
yourActionHere();
}
})
Run Code Online (Sandbox Code Playgroud)
比较滚动和元素位置.比打电话给你的功能.不需要插件.
我认为你可以通过比较div位置的值来实现你的目标
var divPosition = $("#theTarget").offset().top;
Run Code Online (Sandbox Code Playgroud)
和窗口滚动位置
var scrollPosition = window.scrollY;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
63399 次 |
最近记录: |