2012-10-30 19 views
5

Tek bir damla alanında sadece 1 bloğa ihtiyacım var ve gerekirse değiştir. Neden devre dışı bırakabilirim, ancak bırakılabilir bir işlevi etkinleştiremiyorum?Neden devre dışı bırakabilirim, ancak bırakılabilir bir işlevi etkinleştiremiyorum?

$('.my_block').draggable({ 
    revert: "invalid",   
}); 

$('.free').droppable({   
    accept: ".my_block", 
    drop: function(ev, ui) {    
     $(this).removeClass("free");  
     $(this).addClass("1");     
     ui.draggable.appendTo($(this)).removeAttr('style'); 
      $(this).droppable("disable");    
     }, 
     out: function(ev, ui) {      
      $(this).droppable("enable");  
      $(this).removeClass("1");  
      $(this).addClass("free");    
     },   
    }); 

jsfiddle http://jsfiddle.net/4ABCN/2/:

çalışmıyor benim kodudur

Ve tüm kırmızı blokları tek tuşla ana konumlara nasıl geri döndürebilirim?

+0

? Sana yardım edebilirim! ':)' –

+0

İçinde sürüklenebilir (kırmızı) bir öğe varsa ve oradan ayrılırsa (buradaki herhangi bir öğe, kırmızı bloğu başka bir siyah bloğa taşıyın) bırakabilirliği devre dışı bırakmalıyım. Şimdi ilk durağandışı pozisyonda kırmızı bloğumu geri alamıyorum, şu devre dışı bırakınız :( –

+0

Salamura, aşağıya bakınız, ihtiyacınıza uymasını umuyoruz! ':)' –

cevap

2

demoSilinen eski demo

Yeni Demo bu deneyin Çalışma: http://jsfiddle.net/7EbKS/

Davranışı: Kullanıcı Boş pozisyonda başka bir damla izin verilen kırmızı kutu hamle Şimdi zaman,

Umut bu uyuyor :)

Kod Yani hedefliyor hangi davranış

$(function() { 
    foo(); 

    $('.my_block').draggable({ 
     revert: "invalid", 
     stop: function() { 
      $(this).draggable('option', 'revert', 'invalid'); 
     } 

    }); 

    function foo() { 
     $('.block').droppable({ 
      greedy: true, 
      accept: ".my_block", 
      // tolerance: "fit", 
      drop: function(ev, ui) { 
       ui.draggable.appendTo($(this)).removeAttr('style'); 
      } 
     }); 
    } 
    $('.my_block').droppable({ 
     greedy: true, 
     tolerance: 'touch', 
     drop: function(event, ui) { 
      ui.draggable.draggable('option', 'revert', true); 
     } 
    }); 

}); 
+0

Teşekkürler, ama "bir damlama alanında sadece 1 bloğa ihtiyacım var", kodunuzda birden fazla olabilir .. Sanırım bu $ ('. 1') .deri bırakılabilir ("etkin"); sınıfları ile ilgili sorunlar, OUT eylemi sınıfları değişmiyor :( –

+0

@EugenBorunoff benim güncellenmiş gönderiyi yukarıda görüyorum ':)' –

+1

Teşekkürler, canım :) –

İlgili konular