我试图使用jQuery创建某种临时警报消息,因此会出现一条警告消息(带有某种风格和消息的div),然后在X秒消失之后。
如果用户再次点击,则会再次显示提醒...
目前我的脚本甚至没有删除警报。将temp_alert_X名称删除为temp_alert将使它们在X秒后消失,但如果用户再次点击该按钮,警报将不会再次出现,直到刷新..
function createFarm(){
$.ajax({
url: "ajax/new_farm.php",
context: document.body
}).done(function(data) {
data = jQuery.parseJSON(data);
if(data.error == 1){
$('.sidebar_frame').append("<p><div id='alert_error' class='temp_alert_" + new_farm_error + "'> " + data.log + "</div></p>")
setTimeout(function() {
$('.temp_alert_' + new_farm_error + '').remove()
}, 200)
new_farm_error++;
}else{}
}).fail(function() {
alert( "Error while creating new farm 404." );
});
}
注意:
new_Farm_error = 0
答案 0 :(得分:0)
尝试更改这些行:
$('.sidebar_frame').append("<p><div id='alert_error' class='temp_alert_" + new_farm_error + "'> " + data.log + "</div></p>")
setTimeout(function() {
$('.temp_alert_' + new_farm_error + '').remove()
}, 200)
,这些:
var $errorMsg = $("<p><div id='alert_error' class='temp_alert_" + new_farm_error + "'> " + data.log + "</div></p>");
$('.sidebar_frame').append($errorMsg);
setTimeout(function() {
$errorMsg.remove();
}, 200)
记。 200毫秒是一个非常短的时间。
如果您使用dataType : "json"
$.ajax({
dataType : "json"
//...
});