【发布时间】:2016-01-14 13:48:15
【问题描述】:
我使用 jquery 在状态期间更改按钮样式(bootstrap 和 fontawesome)。单击按钮时,按钮将变为加载。一旦成功数据从 ajax 响应。一个按钮更改为完成。但完成后,我需要将按钮重置为默认状态。
代码如下:
$(document).ready(function(){
$("#printBtn button").click(function(){
$("#printBtn").html('<button type="button" class="btn btn-default btn-sq-lg disabled"><em class="fa fa-spinner fa-spin fa-5x"></em><br /><span>Printing...</span></button>');
setInterval(function() {
$.ajax({
type: 'POST',
url: 'inc/prvw_print.php',
success: function(data) {
if(data=='success'){
$("#printBtn").html('<button type="button" class="btn btn-success btn-sq-lg"><em class="fa fa-check fa-5x"></em><br /><span>Done</span></button>');
setInterval(function() {
$("#printBtn").html('<button type="button" class="btn btn-danger btn-sq-lg"><em class="fa fa-print fa-5x"></em><br /><span>Print?</span></button>');
},500);
}else{
$("#printBtn").html('<button type="button" class="btn btn-warning btn-sq-lg"><em class="fa fa-warning fa-5x"></em><br /><span>Error</span></button>');
}//if
}//success
});//ajax
},1000);//interval
});//click
});//ready
我再次在if(data='success') 中添加了 setInterval。希望它会在 0.5 秒后重置默认按钮。但事实并非如此。此处示例:https://jsfiddle.net/zdpkv2jh/
在这里工作更新:https://jsfiddle.net/zdpkv2jh/1/
【问题讨论】:
-
为什么不添加 disabled 属性,然后将其删除,而不是将其添加为类?
-
添加/删除
disabled不会改变文字和图标。 -
试过setTimeout?而不是 setInterval
-
它不断地从
btn-success切换到btn-danger永恒。 -
@Wilf 我不是指您要添加的课程。我指的是 disabled 属性:w3schools.com/tags/att_input_disabled.asp
标签: javascript jquery ajax twitter-bootstrap