IEのscrollTopの動作について

y-ozaki 154views 更新:2014年12月26日

scrollTopの値はその要素または親要素が非表示であると値は0になります。 再度その要素を表示させたときに、IEでは他のブラウザと動作が異なります。

display:none を使って非表示にすると、再度表示させたとき、chromeとFirefoxでは非表示になる前のscrollTopの値と同じ値をになるため、スクロール位置が表示非表示を繰り返しても変わりません。 しかしIEの場合display:none を使って非表示にして、再度表示するとscrollTopの値が元にもとらず、0になってしまうため、スクロール位置が初期の状態に戻ってしまうため、注意が必要です。

IEでもスクロール位置が表示非表示を繰り返しても変わらないようにするにはdisplay:none ではなくvisibility:hiddenを使う必要があるようです。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません