.scrollTop()に問題があります
アンロード時にセッション内の現在のscrollTop()の位置を保存するページがあります。私の目標は、このページに戻ると、最後のscrollTopの位置までページがスクロールすることです。
私のJSコードは単純です:
console.log('=>'+parseInt(scrollto)+' '+parseInt($(window).scrollTop()));
$(window).scrollTop(scrollto);
console.log('=>'+parseInt(scrollto)+' '+parseInt($(window).scrollTop()));
ブラウザのコンソールに表示されます:
=> 2500 0
=> 2500 2500
わかりました。私のページは正確な最後の位置でスクロールされます。
この問題には、scrollto変数の大きな値が伴います。これは私がコンソールに持っているものです:
=> 12352 0
=> 12352 7683
要求された位置でスクロールしない理由がわかりません
私もこれを試しました:
var max_times= 10;
for(var i=0;i<max_times;i++){
console.log('=>'+parseInt(scrollto)+' '+parseInt($(window).scrollTop()));
if (parseInt(scrollto) > parseInt($(window).scrollTop()))
$(window).scrollTop(scrollto);
}
そして結果:
=> 13450 0
=> 13450 7985
=> 13450 7985
=> 13450 7985
...
=> 13450 7985
他の情報 :
- ChromeとSafariでも同じ結果が得られます。
- 私が話しているページにはたくさんの画像が含まれているので、完全に読み込まれるまでに少し時間がかかります。
助けていただければ幸いです。
ありがとうございました。