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