簡體   English   中英

jQuery-滾動或跳到頂部

[英]jQuery - scroll or jump to top

上下文:我有一個單頁Web應用程序。 因此,任何時候都可以隱藏很多div (我不確定這是否重要)。 我發現的是,當用戶完成一頁(頁面X)時,他們會單擊返回(頁面Y)-如果他們返回頁面X,則位置與離開頁面時的位置相同。 “后退”按鈕在底部,因此用戶可以再次回到該位置。

我想要的是當他們返回到第X頁時,使他們位於頁面頂部,以便他們可以重新開始。 無論是向后滾動還是向后跳轉-兩種方法都可以。

我嘗試了以下所有方法,但均未成功:

    // Scroll to top
    setTimeout(function(){
        alert('scroll');
        $('html, body').animate({scrollTop : 0}, 2000);
    }, 2000);

添加一個id為top-anchor的div並使用:

    $('html, body').animate({
       scrollTop: $("#top-anchor").offset().top
    }, 2000);

具有a和使用錨點,以及下面的代碼(不過,它只能工作一次,在那之后,因為我認為URL中已經存在哈希,所以它不再起作用):

document.hash = '#top-anchor';

還嘗試了:

window.scrollTo(0, 0);

沒運氣。

任何替代的想法都非常感謝。

您可以實現以下目的:DEMO: https ://jsfiddle.net/yeyene/bpwtLg1w/1/

不確定內容div的顯示和隱藏方式,但是只想將滾動條添加到頁面div部分的頂部即可。

在“后退”按鈕單擊事件上添加滾動事件,因為您已經知道要轉到哪個頁面,所以可以使用...滾動到該頁面的頂部。

$(element).position()。top

JQUERY

$(document).ready(function () {
    $('input[type=button]').on('click', function(){
        getPageID = $(this).attr('id');

        $('.page').hide(0);
        $('div#'+getPageID).show(0);

        $('html,body').animate({
            scrollTop: $('div#'+getPageID).position().top - 10
        }, 500);
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM