我正在尝试创建一个jQuery滚动函数来检查元素是否已进入浏览器的可见区域。我的代码是:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
.gg{display: none; background: green}
</style>
</head>
<body>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
<div class="gg">asjacnsn</div><br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
asjacnsn<br/>
<script src="http://code.jquery.com/jquery-1.12.0.min.js"></script>
<script type="text/javascript">
$(function(){
$(window).trigger("scroll");
$(window).scroll(function(){
//alert("dg");
if(($(window).height()+$(window).scrollTop()) > $(".gg").offset().top){
alert("gg is visible");
$(".gg").fadeIn(2000)
}
})
})
</script>
</body>
</html>
问题是当我开始滚动页面加载时出现警报“gg is visible”。我通过这样做调试了.gg
div的偏移位置:
$(".gg").offset().top
它出现了0
。下次滚动时,我将$(".gg").offset().top
的正确偏移位置设为=1108
。我做错了什么,在第一次滚动时,.gg
的偏移是错误的?