7

के नीचे गतिशील रूप से अधिक सूचियों को जोड़ने का एक तरीका ढूंढ रहे हैं, मैं नीचे स्क्रॉल करने के बाद अपनी सूचीदृश्य के नीचे अधिक सूचियों को जोड़ने का एक तरीका ढूंढ रहा हूं। उदाहरण के लिए, मेरे पास शुरुआत में 20 आइटम की वापसी है। मैं एक पेजिनेशन का उपयोग करने जा रहा था और बस अपनी क्वेरी से वापस आने के लिए वापस लौटा रहा था, लेकिन मैं स्क्रॉलिंग के अंत में 15-20 वापस लौटा दूंगा या तो स्वचालित रूप से इस सूची में और जोड़ सकता हूं या "अधिक देखें" । मैं jQuery मोबाइल के साथ नया हूं और सोच रहा हूं कि किसी ने इस तरह की चीज को लागू किया है या नहीं। इसका उपयोग फोनगैप में भी किया जा रहा है। यदि ऐसा है तो क्या आप मुझे सही दिशा में इंगित कर सकते हैं? अग्रिम में बहुत धन्यवाद!jQuery मोबाइल सूचीदृश्य

उत्तर

18

स्वचालित रूप से अधिक सूची-आइटम लोड करने के बजाय, मुझे लगता है कि एक बटन रखने के लिए उपयोगकर्ता अधिक लोड करने के लिए टैप कर सकते हैं (लेकिन यह सिर्फ मेरा सुझाव है)। http://jsfiddle.net/knuTW/

अद्यतन

यह सिर्फ एक बटन है कि उपयोगकर्ता टैप कर सकते हैं, तो जब यह उपयोग किया है, लोड अधिक पंक्तियों और फिर लोड करने के लिए थोड़ा आसान है फिर से संलग्न:

//setup an interval so we can throttle the `scroll` event handler since there will be tons of `scroll` events fired 
var timer = setInterval(function() { 
     scrollOK = true; 
    }, 100),//run this every tenth of a second 
    scrollOK = true;//setup flag to check if it's OK to run the event handler 
$(window).bind('scroll', function() { 

    //check if it's OK to run code 
    if (scrollOK) { 

     //set flag so the interval has to reset it to run this event handler again 
     scrollOK = false; 

     //check if the user has scrolled within 100px of the bottom of the page 
     if ($(this).scrollTop() + $(this).height() >= ($(document).height() - 100)) { 
      //now load more list-items because the user is within 100px of the bottom of the page 
     } 
    } 
}); 

यहाँ एक डेमो है सूची के अंत में load-more बटन: http://jsfiddle.net/knuTW/2/

0123:

var $loadMore = $('ul').children('.load-more'); 
$loadMore.bind('click', function() { 
    var out = []; 
    for (var i = 0; i < 10; i++) { 
     out.push('<li>' + (count++) + '</li>'); 
    } 
    $('ul').append(out.join('')).append($loadMore).listview('refresh'); 
});​ 

यहाँ एक डेमो है

+0

धन्यवाद इतना जैस्पर! मैं इसे एक भंवर दे दूंगा। मैं सोच रहा था कि मुझे एक बटन जोड़ना होगा और फिर भी हो सकता है। – tjoenz

+0

@urbanrunic मैंने अपने उत्तर में एक ** अपडेट ** जोड़ा है यह दिखाने के लिए कि स्वचालित रूप से बटन के साथ ऐसा करना कितना आसान है। – Jasper

+0

धन्यवाद जैस्पर! मुझे असीमित स्क्रॉल के साथ समस्याएं आ रही हैं जो काम नहीं करना चाहती हैं। हो सकता है कि यह एक बहुआयामी डिजाइन है जिसके साथ मुझे काम करना है। लेकिन मैं बटन के साथ यह कोशिश करूंगा :) – tjoenz

3

यह उदाहरण मदद दे सकती हैं:

http://jsfiddle.net/dhavaln/nVLZA/

// load test data initially 
for (i=0; i < 20; i++) { 
    $("#list").append($("<li><a href=\"index.html\"><h3>" + i + "</h3><p>z</p></a></li>")); 
} 
$("#list").listview('refresh'); 


// load new data when reached at bottom 
$('#footer').waypoint(function(a, b) { 
    $("#list").append($("<li><a href=\"index.html\"><h3>" + i+++"</h3><p>z</p></a></li>")); 
    $("#list").listview('refresh'); 
    $('#footer').waypoint({ 
     offset: '100%' 
    }); 
}, { 
    offset: '100%' 
});​ 
+0

हां, यह वही है जो मैं ढूंढ रहा था ... उस उदाहरण में आपके पास क्या है। मैं आपको बता दूंगा कि यह कैसे काम करता है :) – tjoenz

+0

क्या आप अपने पहेली में कोड को विस्तृत कर सकते हैं? शायद प्लगइन की वेबसाइट के लिए एक लिंक? – Jasper

+0

waypoint एक बहुत ही सरल प्लगइन है जो किसी भी घटना को तब तक चलाता है जब आप चयनकर्ता तत्व तक पहुंचते हैं (नीचे स्क्रॉल करें)। http://imakewebthings.com/jquery-waypoints/ और https: // github की जांच करें।अधिक जानकारी के लिए com/imakewebthings/jquery-waypoints – dhaval

0

"हमेशा के लिए स्क्रॉल" के लिए विधियों का वर्णन कुछ लेख और "अनंत स्क्रॉल" हैं जो यह क्या लगता है आप की तरह के बारे में पूछ रहे हैं ।

उनके पीछे विचार अतुल्यकालिक रूप से अधिक डेटा लोड करना है जब उपयोगकर्ता नीचे से पूर्व निर्धारित संख्या में स्क्रॉल करता है।

हालांकि उस विधि के साथ एक ज्ञात समस्या है, जिसमें यह स्क्रॉल बार से ही झूठा बना देता है।

http://www.infinite-scroll.com/infinite-scroll-jquery-plugin/
http://masonry.desandro.com/demos/infinite-scroll.html
http://designbeep.com/2011/08/12/12-jquery-infinite-scrollingscroll-read-plugins-for-content-navigation/ http://www.jquery4u.com/tutorials/jquery-infinite-scrolling-demos/

+0

आह, धन्यवाद @jefferyhamby। मैं इन लिंक के माध्यम से पढ़ूंगा। मुझे लगता है कि यह बहुत अच्छा होगा लेकिन जैसा कि मैंने उल्लेख किया है, शायद सूची के निचले हिस्से में "अधिक देखें" बटन के साथ जाना होगा। – tjoenz

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