我在使用带有淘汰赛的动画时遇到了性能问题。 这是我的代码:
<ul data-bind="template: {foreach: items, beforeRemove: slideup }">
<li data-bind="text: text"></li>
</ul>
<script>
var slideup = function (elem) {
if (elem.nodeType === 1) $(elem).slideUp(100, function () {$(this).remove();});
}
</script>
当我在包含数百个元素的列表中删除所有问题时,会出现问题。在这种情况下,我宁愿开火。 你知道我是否可以访问slideUp函数中列表的长度,或者是否可以有条件地绑定动画?
由于
答案 0 :(得分:0)
这应该有效:
var slideup = function (elem) {
var context = ko.contextFor(elem);
if (elem.nodeType === 1) {
if (context.$parent.length < 100) {
$(elem).slideUp(100, function () {$(this).remove();});
}
else {
$(elem).remove();
}
}
}