0
我有一個無序的列表,裏面的li元素是根據我後端數組中的項目數來呈現的。如何在一個呈現的新元素上調用slideDown()?
當新項目添加到數組中時,會呈現相應的li元素並彈出到我的列表中。是否有可能給每個新的li元素一個slideDown()動畫?
我有一個無序的列表,裏面的li元素是根據我後端數組中的項目數來呈現的。如何在一個呈現的新元素上調用slideDown()?
當新項目添加到數組中時,會呈現相應的li元素並彈出到我的列表中。是否有可能給每個新的li元素一個slideDown()動畫?
是的,但您需要使用.on()或.live(),具體取決於您使用的是哪個版本的JQuery。
好了,所以嘗試這裹這一個功能
function doSlideDown(){
$('ul > li > input[type="checkbox"]').on("click", function() {
var parent = $(this).parent("li");
if($(this).is(":checked") === true) {
// move to the top
$(parent).slideUp(300, function() {
$(parent).prependTo($(parent).parent());
$(parent).slideDown(300);
});
} else {
$(parent).slideUp(300, function() {
$(parent).appendTo($(parent).parent());
$(parent).slideDown(300);
});
}
});
}
然後添加此文檔準備功能
$(document).ajaxComplete(function() {
doSlideDown();
});
之外這將更新DOM每次運行一些ajax和a增加一個新項目。
我會在這種情況下使用.on()。 – RP12
如果你發佈了更多的代碼,我可以寫出來給你 – garek007
https://jsfiddle.net/rohithdm/fvfymf0b/ 這是這樣的。我知道它在這裏似乎工作正常,但這是因爲數據不是由數組生成的,所以我很難發佈所有的後端代碼,因爲有這麼多。基本上,更多的東西id被添加到數組中,並且它不會獲得滑動式動畫。 – RP12