2012-09-17 47 views
5

我現在用的是無限滾動的插件(infinite-scroll)與jQuery的同位素的路徑,並想知道是否有可能修改與自定義查詢參數,用戶向下滾動頁面的路徑,更多的項目。無限滾動的插件修改與自定義查詢

是否有訪問路徑,並修改查詢參數的一個方式。 第一次返回第一組物品並在此之後碰到接下來的頁面,1,2 3確定但是使用與第一次只用於更新頁碼相同的查詢參數。

我想修改參數的一個打3頁或4時,像這樣的東西:

var customPath = path + "?type=items&category=clothes&pageNumber="; 

上午我處理這個錯誤的方式?

這裏是我的代碼:

$container.infinitescroll({ 
    navSelector: '#page_nav', // selector for the paged navigation 
    nextSelector: '#page_nav a', // selector for the NEXT link (to page 2) 
    itemSelector: '.element', // selector for all items you'll retrieve 
    loading: { 
     finishedMsg: 'No more categories to load.', 
     msgText: "<em>Loading the next set of categories...</em>", 
     img: 'http://i.imgur.com/qkKy8.gif' 
    }, 
    pathParse: function (path, nextPage) { 
     var customPath = path + "?type=items&category=all&pageNumber="; 
     path = [customPath, '#contaner']; 
     return path; 
    } 
}, 
// call Isotope as a callback 
function (newElements) { 
    $container.isotope('appended', $(newElements)); 
}); 
+0

你的customPath是非法的js語法。你不能在這樣的雙引號內有「鞋」。只要刪除雙引號,它應該沒問題。 ('&category = shoes&')我認爲你沒有提供足夠的信息讓我理解。你是否說你想在用戶到達第3頁時將類別從「衣服」改爲「鞋子」?這是否意味着你想留在服裝的第3頁而不是第3頁的鞋?你想要做什麼? – Ringo

+0

對不起,這是我身邊的一個錯誤,我刪除了報價。最初,當用戶看到頁面時,頁面上有來自不同類別的30個項目。現在頁面上有一個按鈕,當用戶點擊它時,這些項目將被過濾,並且只顯示那些類別的衣服。現在,當用戶向下滾動時,我需要獲得接下來的30個項目,但是我需要修改路徑查詢,因此我只會獲得類別服裝的物品而不是獲取所有物品。 –

+1

我對足夠的無限滾動信息不夠了解,但這裏有一個可能有幫助的問題。 HTTP://計算器。com/questions/11397648/infinite-scroll-pathparse-for-reverse-wordpress-comments – Ringo

回答

7

好了,所以我不得不做一些技巧,但我得到了它的工作感謝我的需求,以豐富的指着我的相關問題。

我添加了一些額外的性質jquery.infinitescroll.js原型這裏:

//line 67 
$.infinitescroll.prototype = { 
     //My custom parameters 
     pageType: "&type=items", 
     categoryParam: "&category=shoes", 
     /* 
      ---------------------------- 
      Private methods 
      ---------------------------- 
      */ 
在函數內部

然後叫:

retrieve: function infscr_retrieve(pageNum) {} 

有一個變量:

desturl = path.join(opts.state.currPage) 

更改爲

desturl = path.join(opts.state.currPage + $.infinitescroll.prototype.pageType + $.infinitescroll.prototype.categoryParam); 

這將在desturl的末尾加上額外的查詢參數。

$('#filters a').click(function() { 
    $.infinitescroll.prototype.pageType = "&type=products" ;     
    $.infinitescroll.prototype.pageType = "&category=clothes";       
    return false; 
}); 

這將更新下一個頁面的查詢參數與您的自定義查詢:

從你的頁面,你有你的JavaScript,你可以做這樣的事情

然後。

希望這會幫助別人。