jquery.offset()无法正常工作

时间:2016-02-22 10:51:02

标签: jquery

我正在尝试创建一个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的偏移是错误的?

0 个答案:

没有答案