2012-09-17 15 views
5

के साथ पथ को संशोधित करता है मैं jQuery आइसोटोप के साथ अनंत स्क्रॉल प्लगइन (infinite-scroll) का उपयोग कर रहा हूं और सोच रहा था कि कस्टम क्वेरी पैरामीटर के साथ पथ को संशोधित करना संभव है क्योंकि उपयोगकर्ता अधिक आइटम देखने के लिए पृष्ठ को स्क्रॉल करता है।असीमित स्क्रॉल प्लगइन कस्टम क्वेरी

क्या पथ तक पहुंचने और क्वेरी पैरामीटर में से किसी एक को संशोधित करने का कोई तरीका है। यह पहली बार आइटम के पहले सेट को वापस करने के लिए पथ को ठीक कर रहा है और उसके बाद यह अगले पृष्ठों को मार रहा है, 1,2 3 ठीक है लेकिन उसी क्वेरी पैरामीटर का उपयोग करके मैंने पहली बार केवल पेज नंबर अपडेट किया था।

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

मैं इस गलत तरीके से आ रहा हूँ:

मैं जब कुछ इस तरह के साथ पेज 3 या 4 से टकराने के पैरामीटर में से एक संशोधित करना चाहते हैं?

$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

आपका कस्टमपैथ अवैध जेएस वाक्यविन्यास है। आपके पास डबल-कोट्स के अंदर "जूते" नहीं हो सकते हैं। बस डबल कोट्स को हटा दें और यह ठीक होना चाहिए। ('और श्रेणी = जूते और') मुझे नहीं लगता कि आपने मुझे समझने के लिए पर्याप्त जानकारी दी है। क्या आप कह रहे हैं कि जब आप पृष्ठ 3 तक पहुंचते हैं तो आप "कपड़े" से "जूते" में श्रेणी बदलना चाहते हैं? क्या इसका मतलब है कि आप जूते के पेज 3 के विरोध में कपड़े के पेज 3 पर रहना चाहते हैं? यह वास्तव में क्या है कि आप करने की कोशिश कर रहे हैं? – Ringo

+0

क्षमा करें कि मेरी गलती थी, मैंने उद्धरण हटा दिए। प्रारंभ में जब उपयोगकर्ता पृष्ठ को देखता है तो विभिन्न श्रेणियों से पृष्ठ पर 30 आइटम होते हैं। अब पृष्ठ पर एक बटन है और जब उपयोगकर्ता इसे क्लिक करता है तो आइटम फ़िल्टर किए जाते हैं और केवल श्रेणी के कपड़े दिखाए जाते हैं। अब जब उपयोगकर्ता नीचे स्क्रॉल करता है तो मुझे अगले 30 आइटम प्राप्त करने की आवश्यकता है, लेकिन मुझे पथ क्वेरी को संशोधित करने की आवश्यकता है, इसलिए मुझे केवल सभी वस्तुओं को प्राप्त करने के विपरीत श्रेणी के कपड़े मिलेंगे। –

+1

मुझे उत्तर देने के लिए अनंत-स्क्रॉल के बारे में पर्याप्त जानकारी नहीं है, लेकिन यहां एक ऐसे प्रश्न के साथ एक प्रश्न है जो मदद कर सकता है। http: // stackoverflow।कॉम/प्रश्न/11397648/अनंत-स्क्रॉल-पथपर-के-रिवर्स-वर्डप्रेस-टिप्पणियां – Ringo

उत्तर

7

ठीक है तो मैं एक छोटे से हैक करना था, लेकिन मैं मुझे संबंधित सवाल की ओर इशारा करते के लिए रिच करने के लिए मेरी जरूरतों के लिए काम धन्यवाद समझ में आ गया:

यहाँ मेरी कोड है।

//line 67 
$.infinitescroll.prototype = { 
     //My custom parameters 
     pageType: "&type=items", 
     categoryParam: "&category=shoes", 
     /* 
      ---------------------------- 
      Private methods 
      ---------------------------- 
      */ 
तो समारोह के अंदर

कहा जाता है:

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

retrieve: function infscr_retrieve(pageNum) {} 

वहाँ एक चर रहा है

मैं jquery.infinitescroll.js यहाँ प्रोटोटाइप के लिए कुछ अतिरिक्त गुण जोड़ा

इसे

में बदल दिया गया
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; 
}); 

यह आप कस्टम प्रश्नों के साथ अगले पृष्ठ के क्वेरी पैरामीटर अपडेट कर देगा:

आप पृष्ठ है जहाँ आप आप आप कुछ इस तरह कर सकते हैं जावास्क्रिप्ट से फिर

आशा है कि यह किसी की मदद करेगा।

संबंधित मुद्दे