實際上你不需要任何jQuery來檢查是否發生了溢出。使用element.offsetHeight
,element.offsetWidth
,element.scrollHeight
和element.scrollWidth
可以判斷,如果你的元素有比它的規模更大的內容:
if (element.offsetHeight < element.scrollHeight ||
element.offsetWidth < element.scrollWidth) {
// your element have overflow} else {
// your element doesn't have overflow}
見動作中的例子:小提琴
但是如果你想知道元素中的元素是否可見,那么你需要做更多的計算。在可見性方面,子元素有三種狀態:
如果您想要計算半可見項目,那么它將是您需要的腳本:
var invisibleItems = [];for(var i=0; i<element.childElementCount; i++){
if (element.children[i].offsetTop + element.children[i].offsetHeight >
element.offsetTop + element.offsetHeight ||
element.children[i].offsetLeft + element.children[i].offsetWidth >
element.offsetLeft + element.offsetWidth ){
invisibleItems.push(element.children[i]);
}}
如果你不想計算半可見數,你可以計算一點點差異。