実際に最後までスクロールしてこの位置を読み取ることなく、すべてのブラウザの最大スクロール位置を判断する方法はありますか?行の高さやパディングが異なるブラウザで最大スクロール位置を特定するにはどうすればよいですか?
コンテナdivを固定高さでオーバーフローさせます。コンテナの高さの合計がコンテナの高さよりも大きいいくつかのdiv要素。
私は単純にコンテナの高さから合計アイテムの高さを差し引いた最大のスクロール位置(y)があります。これは、コンテナのline-height
がアイテムのheight
より大きい場合は、真であると思われます。この場合、すべてのブラウザが最大スクロール位置を異なって決定するようです。
パディングではさらに悪化し、一部のブラウザでは上部パディングが追加され、一部のブラウザでは上部と下部の両方のパディングが追加されます。
たとえば、fiddleを参照してください。コンテナのline-heightとdiv.itemの高さで遊んでください。
注意: 'elm.clientHeight'はW3C仕様の一部ではありません。 [MDNリファレンス](https://developer.mozilla.org/en-US/docs/Web/API/element.clientHeight?redirectlocale=en-US&redirectslug=DOM%2Felement.clientHeight)を参照してください。 – Simone
@simoneヘッドアップありがとう。 – tiffon
私は28の時点でFirefoxが 'elm.scrollTopMax'をサポートしていることを発見しました。これは' elm.scrollHeight - elm.clientHeight'と同じ番号を返しますが、他のブラウザではサポートされていません。 –