我想将高亮和删除效果应用于同一个dom。一个接一个地。不幸的是,高亮效果是不可见的,因为删除后立即触发。jQuery特效组合
任何想法延迟删除操作?
$("#<%= dom_id(@stock) %>").effect("highlight", {}, 4000)
$("#<%= dom_id(@stock) %>").remove()
我想将高亮和删除效果应用于同一个dom。一个接一个地。不幸的是,高亮效果是不可见的,因为删除后立即触发。jQuery特效组合
任何想法延迟删除操作?
$("#<%= dom_id(@stock) %>").effect("highlight", {}, 4000)
$("#<%= dom_id(@stock) %>").remove()
问题是,.remove()
不能拖延。这是立即触发的功能之一,意味着.delay()
什么也不做。
然而,JavaScript的setTimeout()
功能:
$('#g').click(function(){
$("#hi").hide("highlight", {}, 4000)
setTimeout('$("#<%= dom_id(@stock) %>").remove();', 4100)
});
是effect
一个jQuery插件?我无法在jQuery站点上找到该函数的任何文档。
使用jQuery Animate是因为您在动画完成后得到回调。
$("#<%= dom_id(@stock) %>").animate({
opacity: 0.25,
}, 4000, function() {
// Animation complete.
$("#<%= dom_id(@stock) %>").remove();
});
更新
像Shawn31313说
effect(..)
是jQuery用户界面的一部分,此功能还支持 “回调” 的作用完成后。 jQuery UI Effect
希望这有助于
影响带有jQuery UI的,我相信。 – Shawn31313
谢谢!我更新了我的答案。 – dknaack
是的,它带有jQuery UI。你的解决方案也可以。 – Gaelle
.effect()有回调参数,这将影响完成后调用。见effect demo。
$("#<%= dom_id(@stock) %>").effect("highlight", {}, 4000, function() {
$("#<%= dom_id(@stock) %>").remove();
});
谢谢。我删除了删除操作,并且在你的语法中工作得很好。这就是我所需要的。谢谢 – Gaelle
您的欢迎。很高兴我能帮上忙。 – Shawn31313