0

私は何時間も探していて、空っぽになりました。

ユーザーのスクロール位置を検出beforeunloadし、Cookie に保存しています (プラグインを使用)。ページを更新すると、ページはこの位置までスクロールするはずですが、そうではありません。

位置が保存されていることがわかり、alert().

scrollTop「ハード数値」では機能しますが、Cookie からのデータでは機能しません。

parseIntも役に立ちません。

理由はありますか?よろしくお願いします!


このコードは機能していません:

window.onload = function() {
    setTimeout(function() {
    $(document).scrollTop(300);
}, 100);

これは動作します

vari = $.cookie("scrollTil");

window.onload = function() {
    setTimeout(function() {
    $(document).scrollTop(vari);
}, 100);

ED:

$(document).ready(function(){

vari = $.cookie("scrollTil");

window.onload = function() {
    setTimeout(function() {
        $(document).scrollTop(vari);
    }, 100);
}

$(window).unload(function(){
    $.cookie("scrollTil", $(window).scrollTop());
})
});
4

1 に答える 1

0

あなたのコードは問題ありません。しかし、$(window).unload(function() で呼び出した $(window).scrollTop() が常に 0 を返すため、期待どおりに動作しませんでした。

ユーザーがスクロールを行ったときに、スクロール位置をキャプチャする必要があります。ここで回避策を見つけることができます

Javascript: ユーザーがスクロールを完了した後にアクションを実行する

于 2013-04-12T03:02:47.440 に答える