js判断进入可视区域

var obj = $('.countdown').get(0);
var top = obj.getBoundingClientRect().top; //元素顶端到可见区域顶端的距离
console.log(obj)
var se = document.documentElement.clientHeight; //浏览器可见区域高度。
if(top <= se ) {
//code
}

百度到这段代码,把事件加进去没法触发,

请问还有哪些方法判断到了可视区触发事件;

阅读 13.6k
3 个回答

感觉代码没补全,只能表达所理解的意思了
条件不够,如果节点在文档下面,刚好大于窗口高度,就看不见了,当滚动的时候,还需要获取滚动条的高度,然后滚动条的高度加窗口的高度大于节点的偏移距离,就表示节点可以看见了。
窗口高度+滚动条高度>节点偏移的高度就可以了。

$(window).on("scroll",function(){
    console.log(( $(".box").offset().top - $(this).scrollTop() ) > $(this).height());
});

进入可视区域就返回true

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题