SORU
22 ŞUBAT 2011, Salı


jQuery'In sürükle ve bırak - tersine mühendislik Facebook'In uiTokenizer 'Sanat & İlgi'

Ters facebook. uiTokenizer jQuery UI sıralanabilir / sürüklenebilir ağır ve yavaş olduğu için $.special.event.drag $.special.event.drop ve jQuery kullanarak geliştiriyorum.

Yer tutucu öğe enjekte etmek için ne zaman karar vermek için tolerans matematik ile ilgili olduğunu düşünüyorum benim sorum.

Ben ilk yazdım ama öncül hala orada olduğu için bu kodu bir sürü temizledim ve bu soru için çalışması gerekir.

İşte kod ve mantığı: http://jsfiddle.net/JoshuaIRL/kf9Qt/test için.

Biri bakmak lazım alan olacak "" bölgenin $.hoşgörü bırakın onu bulursan işlevi.

 $.drop({
      mode:'intersect',
       tolerance: function( event, proxy, target ){
           var testV = event.pageY > ( target.top   target.height / 2 );

           $.data(target.elem, "drop reorder", testV ? "insertAfter" : "insertBefore" );    
           return this.contains( target, [ event.pageX, event.pageY ] );
       }
 });

Yapmak gibi Facebook bir "insertAfter" gerçek imleci başka bir unsur vurur.

Bu işin merkezi de olabileceğini düşünüyorum

if ( drop && $(drop).is('.uiToken') && ( drop != dd.current || method != dd.method ) ){    
      $( this )[ method ]( drop );
      dd.current = drop;
      dd.method = method;
      dd.update();
     refreshTokens(clickOffset);
     placeholder.insertAfter($(this));
}

Ayrıca, bağlayıcı açık uçlu $.drop() Bu aptalca yöntemi ile benim unsurları değilim emin olmak için nasıl anlamaya ihtiyacım var ... :-\

Sunabilir herhangi bir yardım büyük takdir edilecektir.

GÜNCELLEME: Yorumlarınızı cevap... JSFiddle linki gidin ve başka bir öğe üzerinde bir öğe sürüklerseniz... Hemen her yöne yoldan çarpmak gerekir. Benim bir karşılaştırma görmek, çıkış https://www.facebook.com//sık de onların ardından karşı Facebook "butonuna tıklayın. Düzenle

Ya "Hoşgörü" yöntemi çoğaltmak için bakıyorum ne yanlış, kendi çıkarları listesi budur. değil Hatta Tolerans alanı sorunun ne olduğunu, ne yaptıklarını başarmak istiyor muyum bilmiyorum.

Bu yardımcı olur umarım!

CEVAP
15 Kasım 2011, Salı


Sadece eğer draggables doğru hedefleri sol kesişiyorsa belirlenmesi ve eğer draggables üst hedefleri alt (biraz hoşgörü ile kesişiyor gibi görünüyor.

Bu konuda giderdim 2 yolu vardır:

  1. Kesişen tüm öğeleri bulmak ve en büyük alanı bulmak - bu durumda görüntünün karenin altında kaldı.
  2. Eğer sürüklenebilir, droppable aynı boyutlarda ise 1/4 - bu durumda Kare yeterli olacaktır örtüşüyor.

enter image description here

İkinci farkla uygulamak için en kolay yöntemdir ama genel olarak ilk olarak hayır demektir. Kodunuz aracılığıyla hızlı bir göz alarak, "Olası" droppable elemanları ve üst üste en büyük hedef. alanı belirlemek tüm döngü istiyorum ...

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gali B

    Gali B

    1 EYLÜL 2006
  • L33TNoonProductions

    L33TNoonProd

    24 EYLÜL 2010
  • metallmanutza13

    metallmanutz

    13 NİSAN 2007