1

特定のノードの親のスクロール可能な要素をリストする関数を作成し、このチェックを使用していました

( e.scrollWidth > e.clientWidth ) || ( e.scrollHeight > e.clientHeight )

<table>開いていたページ (stackoverflow の質問) でテストしたところ、質問と回答のand<tbody>要素が返されることに気付きましたtrue。これは、ページ上の他の要素 <table>と要素では発生しません。<tbody>

私の最初の推測はボーダーまたはマージンでしたが、そうではないようです (以下のコードで示されているように、このページで試してください)。

これは何が原因で、どのように確認すればよいですか?


var tbodys = document.getElementsByTagName('tbody'), css,
    i = tbodys.length;
while( i-- > 0 ) console.log(
                     tbodys[i],
                     tbodys[i].scrollHeight > tbodys[i].clientHeight,
                     (css = window.getComputedStyle( tbodys[i] )).border,
                     css.margin,
                     css.padding,
                     css.position,
                     css.top
                 );

これがすべてのブラウザに当てはまるかどうかはわかりません。Google Chrome だけなのか、それとももっと具体的なものなのかはわかりません。

4

0 に答える 0