2011-05-27 12 views
5

मैं मोबाइल उपकरणों पर घटनाओं पोंछ कब्जा करने के लिए इस अद्भुत प्लगइन का उपयोग कर रहा का उपयोग कर वाइप के लिए पोंछ यह होना चाहिए। हालांकि, मेरी छवि गैलरी स्क्रीन की पूरी चौड़ाई है। दुर्भाग्य से, टचवाइप पृष्ठ को ऊपर और नीचे स्क्रॉल करने से डिफ़ॉल्ट अप और डाउन वाइप्स को रोक रहा है। क्या अन्य व्यवहार निर्दिष्ट किए जाने के अलावा, इसे डिफ़ॉल्ट व्यवहार का उपयोग करने का कोई तरीका है?डिफ़ॉल्ट कुछ jQuery touchwipe

$(document).ready(function() { 
    $('#imagegallery').cycle({ 
     timeout: 0, 
     fx: 'scrollHorz', 
     next: '#next', 
     prev: '#prev' 
    }); 

    $("#imagegallery").touchwipe({ 
     wipeLeft: function() { 
      $("#imagegallery").cycle("next"); 
     }, 
     wipeRight: function() { 
      $("#imagegallery").cycle("prev"); 
     } 
    }); 
}); 

मैं इसी प्रभाव (अन्य प्लगइन्स, अन्य विधियों) को प्राप्त करने के लिए अन्य विकल्पों के लिए भी खुला हूं। धन्यवाद! http://plugins.jquery.com/content/vertical-scroll

हालांकि यह एक बेहतर जवाब पाने के लिए अच्छा होगा:

+0

टचवाइप के कोड को देखते हुए, मुझे लगता है कि '{preventDefaultEvents: true} 'के लिए एक विकल्प है। हालांकि, मैं केवल wipeLeft और wipeRight का उपयोग करके डिफ़ॉल्ट को रोकना चाहता हूं, और wipeUp और wipeDown के लिए नहीं। शायद कोई और सक्षम हो सकता है कि '{preventDefaultUp: false, preventDefaultLeft: true, etc।}' – thugsb

+0

के एकाधिक विकल्पों के लिए प्लगइन को संशोधित करने का सुझाव दे सकता है यह थोड़ा सा मदद कर सकता है: प्लगइन विकल्पों को 'preventDefaultEvents: [true, true, सच, सच] '(शीर्ष, दाएं, बी, एल) और डिफ़ॉल्ट को रोकने के लिए लाइन को हटा दें। फिर, लाइन में जोड़ें 'if (config.preventDefaultEvents [3]) {e.preventDefault();}' बस ऊपर 'config.wipeLeft();' और इसी तरह अलग wipeDirs के लिए। यह वास्तव में काम नहीं करता है, लेकिन यह समाधान की ओर मदद कर सकता है। – thugsb

+0

इसके लिए धन्यवाद। बस अपना कोड देखकर, आपने केवल चक्र प्लगइन के साथ इसका इस्तेमाल किया, है ना? बस सोच रहा है कि क्या कोई भी संपूर्ण पृष्ठ सामग्री को स्वाइप करने के लिए प्लगइन का उपयोग करने में सक्षम है? – Desmond

उत्तर

0

मैं एक अस्थायी जवाब यह है कि आंशिक रूप से काम करता है, यहां पाया पाया है।

if(Math.abs(dx) >= config.min_move_x) { 
    cancelTouch(); 
    if(dx > 0) { 
-  config.wipeLeft(); 
+  config.wipeLeft(e); 
    } 
    else { 
-  config.wipeRight(); 
+  config.wipeRight(e); 
    } 
    } 
    else if(Math.abs(dy) >= config.min_move_y) { 
    cancelTouch(); 
    if(dy > 0) { 
-  config.wipeDown(); 
+  config.wipeDown(e); 
    } 
    else { 
-  config.wipeUp(); 
+  config.wipeUp(e); 
    } 
    } 

आप तो अपने कोड बदल सकते हैं चुनिंदा e.preventDefault (कॉल करने के लिए):

+0

जो सिर्फ समस्या बताता है? क्या आपने इसे ठीक किया? क्या आप वर्टिकल स्क्रॉल कोड पोस्ट कर सकते हैं? – NullVoxPopuli

12
jquery.touchwipe पुस्तकालय को यह छोटे पैच के साथ

$(document).ready(function() { 
    $('#imagegallery').cycle({ 
     timeout: 0, 
     fx: 'scrollHorz', 
     next: '#next', 
     prev: '#prev' 
    }); 

    $("#imagegallery").touchwipe({ 
     wipeLeft: function(e) { 
      e.preventDefault(); 
      $("#imagegallery").cycle("next"); 
     }, 
     wipeRight: function(e) { 
      e.preventDefault(); 
      $("#imagegallery").cycle("prev"); 
     }, 
     preventDefaultEvents: false 
    }); 
}); 

(मैं जमा कर दिए हैं प्लगइन लेखक को पैच।)

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