overflow:auto;内のスクロールイベントを実装しているのですが、5行目にある記述「var pos = th.top + sh;」が分かりません。色々と調べてみたのですが理解につながるような参考記事が見当たらず、こちらに質問させていただきました。。
どうぞよろしくお願いいたします!
▼参考記事
http://hack.aipo.com/archives/3385/
▼ソースコード
$(".jump").click(function(){
var target = "#" + $(this).html();
var th = $(target).position();
var sh = $(".scroll").scrollTop();
var pos = th.top + sh;
$(".scroll").animate({
scrollTop: pos
},"slow", "swing");
});
th.top と sh の値を出してみれば、すぐに分かると思う。
きっと、思っているような数字じゃないはずだ。特に th.top の方が。
参考にしてるページを書いてる人も、よく分からずに書いているんでしょう。
きっと、ソースもどこかのパクリ。
変数名の th や sh は、元のソースでは target height や scroll height のはず。
この命名法で素直につけるなら、tt や st になるはず(自分で書いていたら)。
分からなくなったら、ドキュメント読もうぜ。
英語の意味は正確に分からなくても、"relative" ってところだけ気になれば、後は確認してみれば分かる。
2016/02/15 15:23:23飛び先の chapter 4 (Caption だったね...) などの offset parent は、それを囲んでる ".scroll" 。
".scroll" の天辺が、offset child の top = 0 の位置になります。
# というのは、既に蛇足だね
ありがとうございます!大変勉強になりました。
2016/02/15 16:07:49html構造からみて相対位置scrollを見ていたので、変に混同しちゃってました。。
貴重なお時間をありがとうございました!