簡體   English   中英

如何在刷新/加載時設置滾動到頂部? (僅AngularJs或Js,沒有Jquery)

[英]How to set scroll to top on refresh/load? (AngularJs or Js only, no Jquery)

這是我的問題,我正在搜索以將滾動條設置為加載時頁面頂部,但當前Chrome,IE和Firefox將滾動條位置重置為與上一頁相同,那么如何將滾動條設置為頂部?

似乎那些瀏覽器只是忽略了scrollTo,我嘗試了許多使用scrollTo的方法(在SO上找到),但是它們什么都不做...

需要幫忙! 謝謝你們!

好吧,以防萬一,它可以幫助你們中的某些人,這是我現在正在使用的東西(我剛剛找到了它,就像在發布問題lmao后30秒...),它似乎可以正常工作:

window.onbeforeunload = function() {window.scrollTo(0,0);}

編輯:可能是因為瀏覽器記住了最后一個滾動pos,所以將其設置為在卸載之前為top,例如,chrome記住了0,0而不是x,y

您可以嘗試這樣的事情:

<!DOCTYPE html>
<html>
<body onload="myFunction()">

<script>
function myFunction() {
    document.body.scrollTop = document.documentElement.scrollTop = 0;
}
</script>

</body>
</html>

希望能幫助到你 :)

這是我們的原始javascript實現。 它具有簡單的緩和效果,以使用戶在單擊“到頂部”按鈕后不會感到震驚。

它很小,在縮小時會變得更小。 尋找替代jquery方法的開發人員但想要相同的結果可以嘗試一下。

的HTML

<button id="to-top">To Top</button>

JS

document.querySelector("#to-top").addEventListener("click", function(){

var toTopInterval = setInterval(function(){

    var supportedScrollTop = document.body.scrollTop > 0 ? document.body : document.documentElement;

    if (supportedScrollTop.scrollTop > 0) {
        supportedScrollTop.scrollTop = supportedScrollTop.scrollTop - 50;
    }

    if (supportedScrollTop.scrollTop < 1) {
        clearInterval(toTopInterval);
    }

}, 10);

 },false);

您可以使用$ anchorScroll()

這是它的文檔angular-js:anchor-Scroll屬性

暫無
暫無

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

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