Bazı nedenlerden dolayı, sıralanabilir öğelerimin yer tutucusu yaklaşık 10 pikseldir. Tüm sıralanabilir eşyalarımın farklı yükseklikleri var. Her yer tutucunun yüksekliğini taşınan öğeyle eşleşecek şekilde nasıl değiştirebilirim?
Bazı nedenlerden dolayı, sıralanabilir öğelerimin yer tutucusu yaklaşık 10 pikseldir. Tüm sıralanabilir eşyalarımın farklı yükseklikleri var. Her yer tutucunun yüksekliğini taşınan öğeyle eşleşecek şekilde nasıl değiştirebilirim?
Yanıtlar:
Bunu genellikle yer tutucunun yüksekliğini start
olaya sıralanan öğenin yüksekliğine ayarlayan bir geri arama bağlayarak çözerim . Yer tutucunuzun nasıl görüntülenmesini istediğiniz konusunda ayrıntılı kontrol sağlayan basit bir çözümdür.
$( ".column" ).sortable({
connectWith: ".column",
start: function(e, ui){
ui.placeholder.height(ui.item.height());
}
});
forcePlaceholderSize:true
Mülkü ayarlamayı denediniz mi? JQuery UI Sortable dokümantasyon sayfasını okuyun .
.ui-sortable-placeholder { border: 1px dotted black; visibility: visible !important; height: 50px !important; }
değiştirmekti .ui-sortable-placeholder { border: 1px dotted black; visibility: visible !important; }
(bu yüzden yüksekliği kaldırın) Yani @DarthJDG haklısınız!
Öğeleriniz display: block
mi? Satır içi öğeler, yer tutucunun yüksekliği doğru tutmamasına neden olabilir. Örneğin. Bu jsFiddle'ın anlattığınıza benzer bir sorunu var gibi görünüyor. Ekleme display: block
için .portlet
sınıf düzeltmeleri o.
"Ui.item.height ()" kullanmak yerine "ui.helper [0] .scrollHeight" öğesini harici konteynerden bir öğeyi sürüklerken kararlı bir sonuç için kullanabilirsiniz.
$( ".column" ).sortable({
connectWith: ".column",
start: function(e, ui){
ui.placeholder.height(ui.helper[0].scrollHeight);
}
});
Sıralanabiliriniz için bir seçenek olarak yer tutucunuz için bir stil ayarlayabilirsiniz.
$( "#sortable" ).sortable({
placeholder: "ui-state-highlight"
});
Ve sadece bu stile bir yükseklik ver. Umarım işe yarar.
Benim durumumda , yer tutucunun yüksekliğini (ile ! Önemli ) özelliğe zorladığım ve ayrıca kendim için değişiklikleri görmek için arka planla görünürlüğü ayarladığım JP Hellemons'a benzer bir çözüm buldum (ayrıca yer tutucunuzu bu şekilde istediğiniz şekilde biçimlendirebilirsiniz. ).
Bu aynı zamanda display: inline-block;
.ui-sortable-placeholder {
background:red !important;
height: 2px !important; // this is the key, set your own height, start with small
visibility: visible !important;
margin: 0 0 -10px 0; // additionaly, you can position your placeholder,
} // in my case it was bottom -10px