当您点击它之外我正在使用以下代码隐藏div(命名信息):
$(document).click(function(e) {
if (e.target.id != 'info' && !$('#info').find(e.target).length) {
$("#info").fadeOut(300);
setTimeout(function() {
$("#info").html("Select an Item");
},300);
}; //if statement
}); //click function
我想要实现的是在完成fadeOut之后,在div中放置文本“选择一个项目”。但是这个SetTimeout总是被执行; div通过另一个函数显示自己,但似乎这个setTimeout函数也会立即触发。
为什么会发生这种情况?你如何解决这个问题?
答案 0 :(得分:2)
如果可以,我会避免setTimeout
,而是这样做:
$("#info").fadeOut(300, function() {
// Animation complete.
$("#info").html("Select an Item");
});
答案 1 :(得分:0)
我更好的解决方案是使用延迟功能:
$(“#info”)。延迟(1000).html(“选择一项”)。fadeOut(300);
参考文献: