2017-07-23 48 views
0

我正在處理分頁的無限滾動頁面。在菜單中,我正在製作一個按鈕,它會觸發一個向下滾動的功能(每次100px),直到加載某個內容(page3.html)。向下滾動頁面直至達到特定內容的功能

function GOindex() { 
while (urllist.includes('page3.html') == false) { 
var y = $(window).scrollTop(); 
$(window).scrollTop(y+100); 
}; 
} 

新頁面在頁面到達時加載。新頁面的html地址附加在urllist中。我正在使用while循環向下滾動,直到page3.html出現在urllist中。

不幸的是,當我按下按鈕時腳本卡住了。我認爲這是因爲while循環太快,並且多個滾動事件相互觸發。

有沒有更好的方法來做到這一點?

回答

0

好吧,我懂了這樣的工作:

function GOindex() { 
if (urllist.includes('page3.html') == false) { 
    var y = $(window).scrollTop(); //your current y position on the page 
    $(window).scrollTop(y+100); 
    console.log("100 down"); 
    setTimeout(GOindex, 1); 
} 
else { 
    console.log("page3.html loaded, stop scrolling"); 
} 
}; 

找到答案的問題this。它可能不是超級優雅,但它運作良好!基本上最好使用if語句並用超時循環函數。

相關問題