2015-09-09 35 views
-1

我已經從此處設置了無限滾動,它的工作原理是:https://github.com/pklauzinski/jscroll。此外,我想更改瀏覽器地址欄中的網址,但我無法正常工作。在https://github.com/wataruoguchi/clever-infinite-scroll上有類似的解決方案,但我想只加載下一篇文章,而不是選擇器調用的所有文章。在WordPress中使用無限滾動更改URL(使用pushState)

我怎樣才能使用pushState與jScroll?目標是使用jScroll,當滾動到上一篇或下一篇文章時需要更改URL。

回答

0

您可以使用jscroll的callback參數在加載完內容後觸發函數。

var currentPage = 1; 
$('.jscroll').jscroll({ 
    // your current jsscroll options 
    callback: function() { 
     currentPage++; 
     History.pushState(null, $('head > title').html(), 'http://yourpageurl.com/page/' + currentPage); 
    } 
}); 

在這種回調,您可以使用pushState操縱瀏覽器歷史記錄。用正確的URL替換url,並且如果你的infinitescroll應該也會後退,則更新currentPage。

您還需要從頁面參數滾動到負載上的特定位置。

+0

謝謝!我發現https://github.com/wataruoguchi/clever-infinite-scroll,但它並不完美。滾動到上一個或下一個帖子時,我將不得不更改網址。 – drH

+0

您是否有一些可用於識別「頁面」的標識?一種解決方案可能是使用[jQuery.isOnScreen](https://github.com/moagrius/isOnScreen)來識別顯示哪個部分。 – vard

+0

「航點」很好。 DIV類標識URL'data-url =',那麼可以使用pushState更改它。稍後我會回來看看我的發現。 – drH