harumemo

メモ書きです。

フローティングボックスをつくるときに覚えておくと良いJavascriptのTips

要素のスクロールを制御するうえで押さえておきたいのは次の2点:

  1. FixedPoint:スクロールを開始する位置
  2. AbsolutePoint:スクロールを停止する位置

ブラウザ上のスクロール位置「window.scrollTop()」が、上記1を超えたらフローティング要素のpositionを「fixed」に、2を超えたら、「absolute」にする。

 

1の位置はフローティング要素のHTML文書上のオフセット「#sidebar.offset().top」で取得できる。2の位置は、1に対してメイン要素の長さ「#main.outerHeight()」を足し、かつフローティング要素の高さ「#sidebar.outerHeight()」を引けば算出できる。

なお、ブラウザの画面幅「windows.height()」がフローティング要素の高さを下回ったなら、フローティング動作を解除すると丁寧。