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 startolaya 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:trueMü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: blockmi? 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: blockiçin .portletsı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