2010-11-27 11 views
2

divがある場合は固定高さになります。 500pxと言ってください。一般的に、コンテンツブロックは500pxより長く、overflow:autoを使用します。要素にスクロールバーが表示されます。しかし、いくつかの機会にそれはしませんし、デザインは怪しげに見えます(スクロールバーは実際にはここのデザイン要素です)。要素でオーバーフローが発生しているかどうかを検出する

マークアップは次のようになります。

<div class="col2"> 
    ... 
</div> 

.col2が溢れ要素(すなわち、スクロールバー)それは、私が(別のクラスを追加するための境界線で何かをしたくないときに私は、何もしないようにしたいがある場合)、おそらく。ボーダー。

これについてはどうすればいいですか? jQueryのライブラリはすでに使用されているので、jQueryを使用することをお勧めします。助けを本当に感謝しますか?

+2

'オーバーフロー-yのようなものを使用していないでしょう:スクロール;'方が良いですか? – Stephen

答えて

1

これはあなたを支援するはずです...基本的に天気や、スクロールバーを持っていないことを伝える関数を作成します。 (縦または横のどちらか)

$.fn.hasVerticalScrollBar = function() { 
    if (this[0].clientHeight < this[0].scrollHeight) { 
    return true 
    } else { 
    return false 
    } 
} 

$.fn.hasHorizontalScrollBar = function() { 
    if (this[0].clientWidth < this[0].scrollWidth) { 
    return true 
    } else { 
    return false 
    } 
} 

使用

alert($('#mydivid').hasHorizontalScrollBar()); 
alert($('#mydivid').hasVerticalScrollBar()); 
関連する問題