2011-05-27 10 views
5
mobil cihazlarda olayları silin yakalamak için bu harika eklenti kullanıyorum

kullanarak bazı mendil için mendil olmalı. Ancak, resim galerisi ekranın tam genişliğidir. Maalesef touchwipe, varsayılan yukarı ve aşağı mendillerin sayfa yukarı ve aşağı doğru kaymasını engelliyor gibi görünüyor. Diğer davranış belirtildiğinde, varsayılan davranışı kullanmanın bir yolu var mı?Standart jQuery touchwipe

Aynı etkiyi gerçekleştirmek için diğer alternatiflere de açığım (diğer eklentiler, diğer yöntemler). Teşekkürler! http://plugins.jquery.com/content/vertical-scroll

olsa daha iyi cevap almak için iyi olurdu:

+0

TouchWipe koduna bakarak, {preventDefaultEvents: true} 'için bir seçenek olduğunu görüyorum. Ancak, sadece wipeLeft ve wipeRight kullanarak varsayılanı önlemek istiyorum, wipeUp ve wipeDown için değil. Belki daha yetenekli biri, eklentinin birden fazla seçeneğinin nasıl değiştirilebileceğini önerebilir {preventDefaultUp: false, preventDefaultLeft: true, vb.} ' – thugsb

+0

Bu biraz yardımcı olabilir: Eklenti seçeneklerini' preventDefaultEvents olarak değiştirin: [true, true, true, true] '(üst, sağ, b, l) ve varsayılanı önlemek için hattı kaldırın. Ardından, 'if (config.preventDefaultEvents [3]) {e.preventDefault();} 'config.wipeLeft()' nin hemen üstündeki satırı ve benzer şekilde farklı wipeDirs için ekleyin. Bu aslında çalışmıyor, ancak bir çözüm yolunda yardımcı olabilir. – thugsb

+0

Bunun için teşekkürler. Sadece kodunuza bakarak, sadece döngü eklentisi ile kullandın, değil mi? Sadece bir sayfa içeriğinin tamamını kaydırmak için eklentiyi kullanıp kullanamayacağını merak ediyor musunuz? – Desmond

cevap

0

burada bulduğu kısmen çalışan bir geçici yanıt, buldum. daha sonra seçici e.preventDefault (çağırmak için kodunuzu değiştirebilirsiniz

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); 
    } 
    } 

): jquery.touchwipe kütüphanesine bu küçük yama ile

+0

sadece sorunu belirtir? Tamir ettin mi? dikey kaydırma kodunu gönderebilir misiniz? – NullVoxPopuli

12

$(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 
    }); 
}); 

(Gönderdiğim Eklenti yazarına düzeltme eki.)