Untuk beberapa alasan, tempat penampung untuk item saya yang dapat diurutkan adalah sekitar 10px. Semua item saya yang dapat diurutkan memiliki ketinggian yang berbeda. Bagaimana cara mengubah ketinggian setiap placeholder agar sesuai dengan item yang dipindahkan?
jquery
jquery-ui
jquery-ui-sortable
oshirowanen
sumber
sumber
Jawaban:
Saya biasanya menyelesaikan ini dengan mengikat callback yang mengatur ketinggian placeholder ke ketinggian item yang diurutkan ke
start
acara tersebut. Ini adalah solusi sederhana yang memberi Anda kendali penuh atas bagaimana Anda ingin placeholder Anda ditampilkan.Lihat kasus uji yang diperbarui
sumber
Sudahkah Anda mencoba mengatur
forcePlaceholderSize:true
properti? Baca di halaman dokumentasi jQuery UI Sortable .sumber
.ui-sortable-placeholder { border: 1px dotted black; visibility: visible !important; height: 50px !important; }
menjadi.ui-sortable-placeholder { border: 1px dotted black; visibility: visible !important; }
(jadi hapus tinggi) Jadi @DarthJDG Anda benar!Apakah elemen Anda
display: block
? Elemen sebaris mungkin membuat placeholder tidak menjaga ketinggian dengan benar. Misalnya. jsFiddle ini tampaknya memiliki masalah yang mirip dengan yang Anda jelaskan. Menambahkandisplay: block
ke.portlet
kelas akan memperbaikinya.sumber
Daripada menggunakan "ui.item.height ()", Anda dapat menggunakan "ui.helper [0] .scrollHeight" untuk menstabilkan hasil saat menyeret item dari penampung eksternal juga.
sumber
Anda dapat mengatur gaya untuk tempat penampung Anda sebagai opsi untuk penyortiran Anda.
Dan berikan gaya itu ketinggian. Semoga berhasil.
sumber
Dalam kasus saya, saya menemukan solusi yang mirip dengan JP Hellemons , di mana saya memaksakan ketinggian placeholder (dengan ! Penting ) untuk kustom dan juga mengatur visibilitas dengan latar belakang untuk melihat perubahan untuk diri saya sendiri (juga Anda dapat menata dengan cara ini placeholder Anda bagaimanapun Anda inginkan ).
Ini juga bekerja dengan
display: inline-block;
sumber