我在这里找到了这个解决方案:https://stackoverflow.com/a/7557433/5628
但是,这仅用于确定元素在视口中是否可见。
相反:我想要做的是略有不同,因为我想确定元素是否占用整个视口。
答案 0 :(得分:0)
检查元素top和left是否小于或等于当前滚动或视口位置,如果元素高度和宽度等于或大于viewport
答案 1 :(得分:0)
你需要调整一下代码,但是使用一点点jQuery就可以完美地运行:
$(window).resize(function () {
myFun.elementBiggerThanViewportCallback();
});
myFun.elementBiggerThanViewport = function (el) {
//special bonus for those using jQuery
if (el instanceof jQuery) {
el = el[0];
}
var rect = el.getBoundingClientRect();
return (
rect.top <= 0 &&
rect.bottom >= (window.innerHeight || document.documentElement.clientHeight)
);
}
elementBiggerThanViewportCallback = function (el) {
var ifBigger = tabccordion.elementBiggerThanViewport(el);
// Do stuff here.
}