2017-09-05 105 views
0

所以我有這個功能,向下滾動到頁面的底部,並以滾動的div #log的底部:的JavaScript - 滾動至事業部的底部 - 不斷向下滾動沒有停止

function gotoConsole() { 
    var console = document.getElementById('log'); 

    window.scrollTo(0,document.body.scrollHeight); 
    window.setInterval(function() { 
     console.scrollTop = console.scrollHeight; 
    }, 250); 
} 

它做這個工作,它滾動到頁面並滾動到div的底部。但問題是, div繼續下去,我不能向上滾動。

gotoConsole()函數在用戶單擊按鈕後僅調用一次。

這個函數有什麼問題?我無法使用jQuery。

+0

你需要滾動結束 – MysterX

+0

你用過之後的地方使用'clearInterval''''setInterval''' –

+3

看到一個名爲'console'讓我想在我的顯示器尖叫變量。 – Santi

回答

0

我認爲你可能會誤解setIntervalsetInterval()將無限次重複除非您使用clearInterval特別清除它。

我相信你以後就是setTimeout - 它的功能非常相似setInterval,雖然而不是重複,它只能運行一次

function gotoConsole() { 
    var myConsole = document.getElementById('log'); 

    window.scrollTo(0,document.body.scrollHeight); 
    window.setTimeout(function() { 
     myConsole.scrollTop = myConsole.scrollHeight; 
    }, 250); 
} 

旁註:

設置爲console一個變量是一個重大的紅旗。

在編寫/調試JavaScript時,你最好的朋友經常是 console.log()。當您將變量設置爲相同名稱時,您將失去在該範圍內引用console而不執行window.console.log()的能力,這是一個麻煩的煩惱。