iframe のコンテンツがオーバーフローしてスクロールバーが表示されているかどうかを確認する方法を誰かが知っているかどうか疑問に思っていましたか?
ありがとう
iframe のコンテンツがオーバーフローしてスクロールバーが表示されているかどうかを確認する方法を誰かが知っているかどうか疑問に思っていましたか?
ありがとう
一般に、要素の scrollHeight/scrollWidth と offsetHeight/offsetWidth のデルタを比較する必要があります。正の場合、「勝者を獲得しました」。しかし.. iframeでスクロールバーを探すときは、少し複雑になります:
var frm=document.getElementById("frm");
var iIsVrScrollBar = frm.contentWindow.document.documentElement.scrollHeight>frm.contentWindow.document.documentElement.offsetHeight ? 1 : 0;
var iIsHrScrollBar = frm.contentWindow.document.documentElement.scrollWidth>frm.contentWindow.document.documentElement.offsetWidth ? 1 : 0;
scrollHeight
要素のが より大きいclientHeight
かどうか、または要素の がscrollWidth
より大きいかどうかを確認しclientWidth
ます。これは、これらのプロパティを直接使用するか、jQuery が提供するヘルパー メソッドを使用して行うことができます。
要素のコンテンツが垂直スクロールバーを生成した場合、scrollHeight 値は、垂直スクロールバーを使用せずにビューポイントにすべてのコンテンツを収めるために要素が必要とする最小の clientHeight に等しくなります。要素のコンテンツが垂直スクロールバーを生成しない場合、その scrollHeight プロパティはその clientHeight プロパティと等しくなります。これは、コンテンツが短すぎてスクロールバーを必要としないか、要素に CSS スタイルのオーバーフロー値が表示されている (スクロール不可) ことを意味する可能性があります。