比如说一个网页有很多内容,能不能判断当前窗口显示的是哪一部分,然后对未显示的做一些操作?
getBoundingClientRect()
方法会返回该元素盒模型距离浏览器窗口的 top, bottom, left, right
值,其中上下的值有大于 0 并且左右的值有大于 0 则是证明其处于当前窗口位置。比如你在当前页控制台运行如下代码:
function isShow() {
var article = document.querySelector("article");
var box = article.getBoundingClientRect(),
show = (box.top>0 || box.bottom>0) && (box.left>0 || box.right>0);
console.log( "%c$('article') 元素 " + (show?"在":"不在") + "当前窗口中显示", "color:"+(show?"green":"red") );
}
(window.onscroll = isShow)();
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。