LoginSignup
4
4

More than 5 years have passed since last update.

cssのtransformで遷移すると、scrollTop()では値が取れない。

Last updated at Posted at 2014-03-05

cssのtransformで遷移すると、scrollTop()では値が取れない。

表題の通りなのですが、$(window).scrollTop()で現在のスクロールの位置を取ろうとしても、cssのtransformで移動していると、値がずっと0のままでした。

そこで対処法としては、

var getPoint = new Object();  // 座標を保存

$(function(){
   $(document).on({
     "mousedown":function(e){dragOn(e);}
   });
});

function dragOn(e) {

  var scrollY;
  if (e.pageX) {
    scrollY = getPoint.y - e.pageY;
  } else {
    scrollY = e.y - document.body.scrollTop;
  }
   // scrollYが一番上の座標
}

htmlの底の座標

ついでに、htmlの一番下の座標も取得に困っていたので、メモ。

var documentHeight = - window.scrollMaxY;

ただ、DOM構築前に呼び出してしまうと、うまく正しい値が取れないので、

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4