我有一系列按钮和foreach按钮我有一个单独的.click(function(){
即
$("#approved").button().click(function() {
$("#waiting_approval").button().click(function() {
$("#department_waiting_approval").button().click(function() {
$("#department").button().click(function() {
我有ajax的setInterval,用于刷新该div中的数据。 我面临的问题是,一旦用户点击不同的按钮,我想停止当前按钮点击ajax调用并启动新的按钮。
希望这是有道理的,先谢谢。
$("#approved").button().click(function() {
setInterval(function(){
$.ajax({
type: "GET",
url: "holidays/academic_days.php?userid='+$('#approved_list').attr('class')",
dataType: "html",
success: function(data) {
jQuery("#approved_list").fadeOut( 10 , function() {
jQuery(this).html( data);
$('#approved_list').show();
$('#waiting_approval_list').hide();
$('#department_waiting_approval_list').hide();
$('#department_logs').hide();
}).fadeIn( 100 );
}
})
}, 100);
});
答案 0 :(得分:1)
setInterval函数返回该interval对象的处理程序,稍后可以使用clearInterval清除该间隔,例如:
var handler = setInterval(function(){
console.log('interval');
},1000);
setTimeout(function(){
clearInterval(handler);
},5000);
答案 1 :(得分:1)
这可能会有所帮助:
var thisInterval;
$("#approved").button().click(function() {
thisInterval=setInterval(function(){
$.ajax({
type: "GET",
url: "holidays/academic_days.php?userid='+$('#approved_list').attr('class')",
dataType: "html",
success: function(data) {
jQuery("#approved_list").fadeOut( 10 , function() {
jQuery(this).html( data);
$('#approved_list').show();
$('#waiting_approval_list').hide();
$('#department_waiting_approval_list').hide();
$('#department_logs').hide();
}).fadeIn( 100 );
}
})
}, 100);
});
按这样取消按钮。
$("#cancel").button().click(function() {clearInterval(thisInterval)}