[英]Implementation of a simple infinite scroll effect
這是我的Wordpress博客上的導航。
當用戶單擊“加載更多帖子”按鈕(實際上不是按鈕,而是h1
標簽)時,將觸發ajax腳本,該腳本會將更多帖子加載到主頁。
我想更改此行為,以便當用戶向下滾動到頁面底部時自動加載帖子。
觸發ajax post事件的函數如下所示:
$(".home #more_posts").click(function(e) {
$("#more_posts .loader").animate({opacity: 1},200);
$.post('<?php bloginfo('siteurl') ?>/wp-admin/admin-ajax.php', {
action: 'and_action',
off: offset+number,
pagenumber: page_number,
query_post: '&orderby=date&order=<? echo $order_post ?>&category_name=<? echo $_POST['category'] ?>'
} , (.....)
});
我要實現此更改的原因是要實現無限滾動事件。
沒有得到答案,迫使我深入研究並找到解決方案。
這就是我實現簡單無限滾動效果的方法。 我希望這會對某些人有所幫助。
var now = new Date().getTime();
$(window).on('scroll', function() {
if ($(window).scrollTop() >= $(document).height() - $(window).height() - 400) {
if (new Date().getTime() - now > 1000) {
loadNextPage();
now = new Date().getTime();
}
function loadNextPage()
{
(...)
$(window).scrollTop(position - 500);
}
讓我們分開代碼:
loadNextPage()
函數的事件的部分就非常簡單-從“單擊”變為“滾動”。 new Date()
對象的零件。 這種情況確保了每次滾動時都不會多次觸發loadNextPage()
函數。 該條件表明,每個loadNextPage()
觸發器之間必須至少有一個秒的間隔。 loadNextPage()
函數的末尾,我們將滾動條上移一點,以使.on("scoroll")
事件中的第一個條件不連續匹配,但是它要求用戶向下滾動才能觸發loadNextPage()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.