2010-03-24 18 views
18

jQuery sortables ile ilgili bir sorun yaşıyorum. 3 sütun oluşturarak iGoogle benzeri bir gösterge paneli geliştirmek için kullanıyorum. Tüm 3 sıralı div'ler içerir ve connectWith seçeneğini kullanarak birbirine bağlanır.jQuery UI sıralanabilir - öğeleri bağlı bir listenin/sütunun altına sürükleyemiyor

Yapmakta olduğum sorun, bir sortable sütununun altındaki bir div'i düşürmeye çalışırken; sadece olmak istemiyor. Yalnızca sürüklediğim listedeki en alttaki divı/alanı sürüklediğimde çalışır.

Bundan kaçınmanın bir yolu var mı? Ya da belki de her bir sütunun dibine sabitlenmiş bir kukla div oluşturmak için? Bu konuda herhangi bir yardım takdir edilecektir!

Şimdiden teşekkürler.

cevap

42

Eski bir soru ama belki başkalarına yardım etmek ...

Dolgu çalışmaları ancak görsel tedaviyi değiştirir.

Başka bir çözüm, sortable api tarafından sağlanan 'tolerans' kullanmaktır. "İşaretçi" nin tolerans değeri, kullanıcı imlecinin diğer öğelerin birinden daha fazla olduğu sürece, öğenin konumunun yerini alabileceği anlamına gelir (yastıklama olmadan sorun yaşamanın nedeni olan elemanın üzerinde belirli bir alanın yerine) .

Bunu başlatmaya eklemeye çalışın (örneğimde, listeyi dikey olarak sıralıyorum).

 $(this.$el).sortable({ 
      axis: 'y', 
      cursor: 'move', 
      containment: 'parent', 
      tolerance: 'pointer' // this is the important bit 
     }); 

Bunu yaptıktan sonra çok çabuk olmalı.

Ayrıca şurada üzerine jquery doc görebilirsiniz:

+0

Bu tam olarak ihtiyacım olan şey. Teşekkür ederim! – Koviko

+0

Çok mantıklı. Sortable bir ızgara ile bana çok yardımcı oldu. –

+1

Mükemmel, kabul edilen cevaptan çok daha iyi. –

8

Divleri içeren sütunlar, sürüklenebilir alanı alt div'in ötesine uzatmak için oldukça büyük bir alt-dolgu tabanına ihtiyaç duyar. Aksi takdirde, sütunlar divlere sıkıca sarılır ve her bir alt divun altındaki alan, sıralanabilir listenin dışında yer alır.

+0

Müthiş, o mükemmel çalıştı, teşekkürler! – Mike

+0

teşekkürler, bu mükemmeldi, bir ipucu yoktu –

İlgili konular