Javascript 在ajax success()函数中创建时,引导警报刷新并消失

Javascript 在ajax success()函数中创建时,引导警报刷新并消失,javascript,jquery,ajax,twitter-bootstrap,alert,Javascript,Jquery,Ajax,Twitter Bootstrap,Alert,我想在ajax返回时显示引导警报。但警报突然变红,然后很快就消失了。使用引导显示警报的正确方式是什么?谢谢 $('#btn')。单击(函数(){ var url=“添加”; var data=$('#add_form').serializeArray().reduce(函数(m,o){m[o.name]=o.value;返回m;},{}); $.ajax({ 键入:“POST”, url:url, 数据:JSON.stringify(数据), 数据类型:“json”, contentType:

我想在ajax返回时显示引导警报。但警报突然变红,然后很快就消失了。使用引导显示警报的正确方式是什么?谢谢

$('#btn')。单击(函数(){
var url=“添加”;
var data=$('#add_form').serializeArray().reduce(函数(m,o){m[o.name]=o.value;返回m;},{});
$.ajax({
键入:“POST”,
url:url,
数据:JSON.stringify(数据),
数据类型:“json”,
contentType:'应用程序/json',
//async:false,
成功:功能(数据2){
如果(data2.res==1){
显示警报(“错误”、“警报危险”);
}否则{
showalert(“正常”、“警报成功”);
}
},
错误:函数(结果)
{
},
超时:5000
});
});
功能showalert(消息、警报类型){
$(“#警报占位符”)。追加(“×;”+消息+”;
setTimeout(函数(){
$(“#alertdiv”).remove();
}, 5000);
}

...
...
提交

我会做不同的事情,您可以直接将警报消息放在HTML中,然后玩
show()
hide()
fadeIn()
fadeOut()

请记住更改css文件并显示none alerts DIV:

#alertError,#alertSuccess{
    display:none;
}

具有fadeIn属性 或者您可以使用“addClass”来设置引导div的动画

如果只需要动画警报框

function showalert(message, alerttype) {
    $('#alert_placeholder').fadeIn('<div id="alertdiv" class="alert ' +  alerttype + '" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>' + message + '</div>');
    setTimeout(function() {
        $("#alertdiv").remove();
    }, 5000);
 }
函数showalert(消息,alerttype){
$(“#警报占位符”).fadeIn(“×;”+消息+”;
setTimeout(函数(){
$(“#alertdiv”).remove();
}, 5000);
}

我终于找到了问题所在。 我更改了按钮的(触发js代码)类型“submit”->“button”,一切正常

我还不知道为什么会这样


提交

提交

请考虑在您的应答器中格式化您的代码,我的问题不是动画引导程序。问题是DIV立即出现和消失。这个问题似乎与JS中的异步有关。可能是因为javascript多次触发。在点击事件javascript的末尾使用“returnfalse”。我更改了代码,但仍然不能像以前那样工作。看起来潜水舱冲洗得比以前快了,我无法指出它是否显示和关闭。但当调试显示它确实运行到这些代码中。
#alertError,#alertSuccess{
    display:none;
}
function showalert(message, alerttype) {
    $('#alert_placeholder').fadeIn('<div id="alertdiv" class="alert ' +  alerttype + '" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>' + message + '</div>');
    setTimeout(function() {
        $("#alertdiv").remove();
    }, 5000);
 }