在jQuery中停止动画时如何恢复项?
如果用户决定删除项目,“我的应用”将启动动画:在jQuery中停止动画时如何恢复项?,jquery,jquery-animate,Jquery,Jquery Animate,如果用户决定删除项目,“我的应用”将启动动画: $(data.args[0]).parents('li').hide(20000, function() { alert('the end') }); $(data.args[0]).parents('li').stop(); 如果在中间,用户因为认为不应删除此项目而单击紧急按钮,则应用程序将停止此动画: $(data.args[0]).parents('li').hide(20000, func
$(data.args[0]).parents('li').hide(20000, function() {
alert('the end')
});
$(data.args[0]).parents('li').stop();
如果在中间,用户因为认为不应删除此项目而单击紧急按钮,则应用程序将停止此动画:
$(data.args[0]).parents('li').hide(20000, function() {
alert('the end')
});
$(data.args[0]).parents('li').stop();
问题是,该项目仍然显示,但它是半透明的。如何使它恢复到原来的状态?我已经尝试过链接一个.fadein和一个.show,但没有成功。还测试了.stop的所有参数组合
这是原始代码:
$("#task-list").jstree({
"plugins" : [ "themes", "ui", "html_data", "checkbox", "sort" ]
}).bind('check_node.jstree', function(e, data) {
$(data.args[0]).parents('li').hide(10000, function() {
var tid = this.id.split('-')[1];
ajaxCall('delete_item', {id: tid})
});
}).bind('uncheck_node.jstree', function(e, data) {
$(data.args[0]).parents('li').stop(true, false);
});
在屏幕上,你似乎可以简单地打电话。停止这样:
$(data.args[0]).parents('li').stop(true, false).show();
达到效果。效果队列将清空,所有挂起的效果将被解除。然后元素再次显示。最后,我解决了问题。首先,我使用.animate方法启动动画:
$(data.args[0]).parents('li').animate({
opacity: "hide"
}, {
queue: false,
duration: 20000
});
然后,我不得不用一个技巧使它起作用:
$(data.args[0]).parents('li').stop().css('opacity', '1');
注意,此处应用的css使项目显示为原来的样子。共享附加事件的代码。在“取消事件侦听器”中,您始终可以将其淡入。添加到问题:这将直接进入“隐藏”,而无需任何动画。我认为OP想再次展示它。