(および垂直スクロールバー検出機能)に水平スクロールバーがあるかどうかを検出するhasHScrollBar()
関数。
jquery hasHScrollBar()
function
// 用于检查元素是否存在滚动条的实用程序函数 jQuery.fn.hasScrollBar = function(direction) { if (direction === 'vertical') { return this.get(0).scrollHeight > this.innerHeight(); } else if (direction === 'horizontal') { return this.get(0).scrollWidth > this.innerWidth(); } return false; }; // $('#c3 .mbcontainercontent').hasScrollBar('horizontal');
同様の関数:
// 用于检查元素是否存在水平滚动条的实用程序函数 jQuery.fn.hasHScrollBar = function() { return this.get(0).scrollWidth > this.innerWidth(); }; // $('#c3 .mbcontainercontent').hasHScrollBar(); // 用于检查元素是否存在垂直滚动条的实用程序函数 jQuery.fn.hasVScrollBar = function() { return this.get(0).scrollHeight > this.innerHeight(); }; // $('#c3 .mbcontainercontent').hasVScrollBar();
別のバージョン:
function hasScroll(el, direction) { direction = (direction === 'vertical') ? 'scrollTop' : 'scrollLeft'; let result = !!el[direction]; if (!result) { el[direction] = 1; result = !!el[direction]; el[direction] = 0; } return result; } // alert('vertical? ' + hasScroll(document.body, 'vertical')); // alert('horizontal? ' + hasScroll(document.body, 'horizontal'));
jQueryおよび水平スクロールバー(FAQ)
についてのよくある質問 jqueryを使用して、水平スクロールバーがあるかどうかを確認します。scrollWidth
プロパティを使用できます。このプロパティは、塗りつぶし、境界線、スクロールバーなど、要素の総幅をピクセルで返します。 scrollWidth
の場合、clientWidth
よりも大きい場合、水平スクロールバーが存在します。これは、単純なコードスニペットです:
if (document.documentElement.scrollWidth > document.documentElement.clientWidth) { // 存在水平滚动条 }
scrollWidth
とclientWidth
の違いは何ですか? scrollWidth
プロパティパディング、境界線、スクロールバーなど、要素の総幅をピクセルで返します。一方、clientWidth
は、境界線、スクロールバー、マージンではなく、パディングを含むピクセルの要素の可視幅を返します。
はい、同様の方法を使用して垂直スクロールバーを確認できます。 scrollHeight
とclientHeight
の代わりにscrollWidth
とclientWidth
を比較する必要があります。
css()
jQueryのoverflow
メソッドを使用して'hidden'
プロパティを
$("body").css("overflow-x", "hidden");
css()
jQueryのoverflow
メソッドを使用して'scroll'
属性を
$("body").css("overflow-x", "scroll");
scrollWidth
FAQの残りの部分は上記に似ており、水平スクロールバーを垂直スクロールバーに置き換えるか、特定の要素で動作します。 複製を避けるために、私はここでそれを繰り返しません。 すべての問題は、scrollHeight
/clientWidth
およびclientHeight
/css()
プロパティとjQueryの方法を使用して解決できます。
以上がjQuery水平スクロールが存在するかどうかを確認しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。