HTML要素にスクロールバーがあるかどうかを確認する
要素にスクロールバーがあるかどうかを確認する最も速い方法は何ですか? もちろん、要素がそのビューポートより大きいかどうかを確認することは、次の2つの値を確認することで簡単に実行できます。 el.scrollHeight > el.offsetHeight || el.scrollWidth > el.offsetWidth しかし、それはそれが同様にスクロールバーを持っていることを意味しません(したがって、実際に人間がスクロールすることができます)。 質問 1つのクロスブラウザーで2つの JavaScriptのみ(jQueryがない場合と同様)でスクロールバーを確認するにはどうすればよいですか? Javascriptのみ。非常に高速なjQueryセレクターフィルターを作成したいので、可能な限り小さなオーバーヘッドが必要です。 // check for specific scrollbars $(":scrollable(x/y/both)") // check for ANY scrollbar $(":scrollable") overflowスタイル設定を確認する必要があると思いますが、クロスブラウザーでそれを行うにはどうすればよいですか? 追加編集 overflowスタイル設定だけではありません。要素にスクロールバーがあるかどうかを確認することは、見かけほど簡単ではありません。上で書いた最初の式は、要素に境界線がない場合は正常に機能しますが、境界線がかなり広い場合(特に境界線の幅offsetが大きい場合)、寸法はscroll寸法より大きくなる場合がありますが、要素はスクロール可能です。offset要素の実際のスクロール可能なビューポートを取得し、それをscroll寸法と比較するには、実際に寸法から境界を差し引く必要があります。 今後の参考のために :scrollablejQueryセレクターフィルターは私の.scrollintoview()jQueryプラグインに含まれています。誰かがそれを必要とするならば、完全なコードは私のブログ投稿にあります。実際の解決策は提供されていませんが、Soumyaのコードは問題の解決に大きく役立ちました。それは私を正しい方向に向けました。