亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果div有溢出元素,請使用jquery檢查

如果div有溢出元素,請使用jquery檢查

jeck貓 2019-07-31 17:51:08
如果div有溢出元素,請使用jquery檢查我有一個固定高度的div overflow:hidden;我想用jQuery檢查div是否有溢出超過div固定高度的元素。我怎樣才能做到這一點?
查看完整描述

3 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

實際上你不需要任何jQuery來檢查是否發生了溢出。使用element.offsetHeightelement.offsetWidth,element.scrollHeightelement.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]);
    }}

如果你不想計算半可見數,你可以計算一點點差異。


查看完整回答
反對 回復 2019-07-31
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

我和OP有同樣的問題,這些答案都不符合我的需求。我需要一個簡單的條件,簡單的需要。

這是我的答案:

if ($("#myoverflowingelement").prop('scrollWidth') > $("#myoverflowingelement").width() ) {
  alert("this element is overflowing !!");}else {
 alert("this element is not overflowing!!");}

此外,您還可以改變scrollWidthscrollHeight,如果你需要測試這兩種情況下。


查看完整回答
反對 回復 2019-07-31
?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

部分基于Mohsen的答案(增加的第一個條件涵蓋了在父母之前隱藏孩子的情況):

jQuery.fn.isChildOverflowing = function (child) {
  var p = jQuery(this).get(0);
  var el = jQuery(child).get(0);
  return (el.offsetTop < p.offsetTop || el.offsetLeft < p.offsetLeft) ||
    (el.offsetTop + el.offsetHeight > p.offsetTop + p.offsetHeight || el.offsetLeft + el.offsetWidth > p.offsetLeft + p.offsetWidth);};

然后就做:

jQuery('#parent').isChildOverflowing('#child');


查看完整回答
反對 回復 2019-07-31
  • 3 回答
  • 0 關注
  • 678 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號