2011-11-15 18 views
6

अद्यतन: मैं के रूप में वांछित काम कर मेरी स्क्रोलर प्राप्त करने में सक्षम था, लेकिन मुझे लगता है कि मैं वास्तविक समस्या के हैक कर लिया है और यह प्यार होता है, तो किसी को भी एक और अधिक ठोस उत्तर नहीं है, मैं नवीनीकृत किया है और नए jQuery के नीचे स्निपेट में उल्लेख किया गया है जिसका उपयोग मैं कर रहा हूं।iscroll scrollToElement अपडेट नहीं हो currPage चर

मैं एक iPad/एंड्रॉयड वेब ऐप्लिकेशन के लिए iScroll -4 (http://cubiq.org/iscroll-4) का उपयोग कर रहा हूँ, सब कुछ स्वाइप करते हुए पूरी तरह से काम कर रहे और स्क्रॉल लेकिन मैं अनुप्रयोग है कि उपयोगकर्ताओं को करने पर पहुंचा देता है की शुरुआत में विषय सूची है स्क्रोलर के विशिष्ट क्षेत्र -

मैं विभिन्न क्षेत्रों में कूदने के लिए iScroll फ़ंक्शन scrollToElement(element, duration) का उपयोग कर रहा हूं। scrollToPage(page, duration) का उपयोग करके उपयोगकर्ता को एक समय में मैन्युअल रूप से आगे और पीछे एक पृष्ठ पर नेविगेट करने की अनुमति मिलती है।

जब मैं scrollToPage समारोह और जब मैं स्वाइप के साथ नेविगेट जबकि सांत्वना देख currPageX चर अद्यतन लॉग करता है, लेकिन जब scrollToElementcurrPageX चर का उपयोग कर अपडेट नहीं होता।

इसलिए यदि मैं किसी तत्व पर कूदता हूं और फिर scrollToPage('next', 0) के साथ आगे नेविगेट करता हूं तो यह पीछे की ओर जाएगा और सामग्री की तालिका के बाद मुझे अगले पृष्ठ पर नेविगेट करेगा।

मैं scrollToElement के बाद scroll.refresh() समारोह का उपयोग कर, से पहले की कोशिश की है, समय समाप्त, आदि के अंदर समारोह डाल और मैं समझ नहीं currPageX अपडेट नहीं हो रहा है क्यों।

यहाँ jQuery कोड है कि मैं दो अलग-अलग कार्यों का उपयोग कर रहा का एक टुकड़ा है:

// TO NAVIGATE FORWARD AND BACKWARDS 
    $('span.control').on('click', function() { 
    var slideDir = $(this).attr('data-dir'); 
    if (slideDir == 'prev') { 
     var tehPg = tehScroll.currPageX-1; 
    } else if (slideDir == 'next') { 
     var tehPg = tehScroll.currPageX+1; 
    } 
    tehScroll.scrollToPage(tehPg, 0); 
    return false; 
    }); 

    // TO JUMP FROM CONTENTS 
    $('li[data-page="toc"] span').on('click', function() { 
    var toPage = $(this).attr('data-page'); 
    tehScroll.scrollToElement('li[data-page="'+toPage+'"]', 800); 
    // ADDED THE FOLLOWING LINE TO MANUALLY SET currPageX after scrolling! 
    tehScroll.currPageX = $('#slides li[data-page="'+toPage+'"]').index(); 
    return false; 
    }); 
+1

मैं iScroll के संस्करण 5 का उपयोग कर रहा है और एक ही समस्या थी। जिस तरह से मैंने इसे हल किया था ** 'tehScroll.currentPage.pageY' ** **' tehScroll.currPageX' ** के साथ, यह भी ** ** वापसी झूठी' ** का उद्देश्य क्या है तल? –

+0

'वापसी झूठी' क्लिक किए गए तत्व की डिफ़ॉल्ट कार्रवाई को रोक देगा, इसलिए 'ए' टैग के लिए जो' href' पर नेविगेट करेगा, हालांकि, इस मामले में, क्योंकि क्लिक हैंडलर 'span' पर है, यह ठीक कुछ भी नहीं करता है;) – andyface

उत्तर

0

क्या आप jquery-mobile-iscrollview विजेट प्लग में उपयोग करने पर विचार? - वहाँ एक समारोह scrollToPage (पृष्ठ X, पृष्ठ Y, समय), मेरे लिए अच्छी तरह से काम करता है ...

है सबसे अच्छा

एम

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