我们目前在我们的网站上使用以下代码来检测 div 是否有导致其溢出的内容,并因此向其他元素添加一个类:
// Resize ContainerHeader if a billboard ad is shown
var element = document.querySelector('#banner-top');
if( element.offsetHeight < element.scrollHeight || element.offsetWidth < element.scrollWidth) {
// your element have overflow
$('#banner-top').addClass('billboard');
$('#a_ContainerHeader').addClass('billboard');
$('.menu-header-container').attr('data-offset-top','430');
//alert("YES overflow");
}
else{
//your element don't have overflow
//alert("NO overflow");
}
它有一半的时间可以正常工作,但随机似乎不起作用。如果我们然后刷新页面,它会再次工作!很烦人。
有没有人知道为什么它在某些情况下不会返回 true?我们的控制台中没有 javascript 错误。
该代码可以在http://www.onedirection.net上看到。
干杯,
克里斯。