jQuery临时警报消息

时间:2014-10-14 22:02:04

标签: javascript jquery html

我试图使用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

1 个答案:

答案 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"

,则无需解析JSON
$.ajax({
    dataType : "json"
    //...
});