Javascript 如何连续多次运行函数?

Javascript 如何连续多次运行函数?,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我只想做个眨眼的盒子。换句话说,我想调用一个函数本身。我有这个功能: $(文档).ready(函数(){ $(“按钮”)。单击(函数(){ 美元(“#div1”)。淡入淡出(“慢”); }); }); 单击以淡入/淡出框 在jQuery中有一些全局ajax事件 你可以倾听,比如: 我的片段: //等待的实用函数(模拟ajax) $.wait=函数(毫秒){ var defer=$.Deferred(); setTimeout(函数(){defer.resolve();},毫秒); 返回延迟

我只想做个眨眼的盒子。换句话说,我想调用一个函数本身。我有这个功能:

$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
美元(“#div1”)。淡入淡出(“慢”);
});
});

单击以淡入/淡出框



在jQuery中有一些全局ajax事件

你可以倾听,比如:

我的片段:

//等待的实用函数(模拟ajax)
$.wait=函数(毫秒){
var defer=$.Deferred();
setTimeout(函数(){defer.resolve();},毫秒);
返回延迟;
};
var=true;
$(函数(){
$(“#div1”)。单击(函数(){
$(this.fadeToggle(“slow”,function()){
如果(!isAjaxEnded)
$(“#div1”).trigger('click');
});
});
$(文档).ajaxStart(函数(){
Isajaxed=false;
$(“#div1”).trigger('click');
});
$(文档).ajaxComplete(函数(){
//下一行被注释,因为我正在模拟。。。
//Isajaxed=true;
//结束动画
});
$.getJSON('https://api.github.com/users)。完成(函数(数据){
//只需等待3秒钟
$.wait(3000)。然后(function(){
Isajaxed=true;
});
});
});

在jQuery中有一些全局ajax事件

你可以倾听,比如:

我的片段:

//等待的实用函数(模拟ajax)
$.wait=函数(毫秒){
var defer=$.Deferred();
setTimeout(函数(){defer.resolve();},毫秒);
返回延迟;
};
var=true;
$(函数(){
$(“#div1”)。单击(函数(){
$(this.fadeToggle(“slow”,function()){
如果(!isAjaxEnded)
$(“#div1”).trigger('click');
});
});
$(文档).ajaxStart(函数(){
Isajaxed=false;
$(“#div1”).trigger('click');
});
$(文档).ajaxComplete(函数(){
//下一行被注释,因为我正在模拟。。。
//Isajaxed=true;
//结束动画
});
$.getJSON('https://api.github.com/users)。完成(函数(数据){
//只需等待3秒钟
$.wait(3000)。然后(function(){
Isajaxed=true;
});
});
});

$(文档).ready(函数(){
函数toggleForever(){
$(“#div1”).fadeToggle(“慢”,toggleForever);
}
$(“按钮开始”)。单击(函数(){
永远切换();
});
$(“按钮停止”)。单击(函数(){
$(“#div1”).stop().animate({opacity:1},“slow”);
});
});

单击以淡入/淡出框
单击以停止


$(文档).ready(函数(){
函数toggleForever(){
$(“#div1”).fadeToggle(“慢”,toggleForever);
}
$(“按钮开始”)。单击(函数(){
永远切换();
});
$(“按钮停止”)。单击(函数(){
$(“#div1”).stop().animate({opacity:1},“slow”);
});
});

单击以淡入/淡出框
单击以停止



您可以使用SetInterval连续运行开-关循环,并以ClearInterval结束循环

var _timer1;
var _timer2;

$(document).ready(function(){

    $("#BtnStart").click(function(){
        _timer1 = setInterval(function(){ $("#div1").fadeToggle("slow"); }, 500);       
        _timer2 = setInterval(function(){ $("#div1").fadeToggle("slow"); }, 1000);
    });     

    //Call stop stop annimation
    $("#BtnStop").click(function(){
        clearInterval(_timer1);
        clearInterval(_timer2);
    });     

});

您可以使用SetInterval连续运行开-关循环,并以ClearInterval结束循环

var _timer1;
var _timer2;

$(document).ready(function(){

    $("#BtnStart").click(function(){
        _timer1 = setInterval(function(){ $("#div1").fadeToggle("slow"); }, 500);       
        _timer2 = setInterval(function(){ $("#div1").fadeToggle("slow"); }, 1000);
    });     

    //Call stop stop annimation
    $("#BtnStop").click(function(){
        clearInterval(_timer1);
        clearInterval(_timer2);
    });     

});

在首次发送ajax请求时设置一个变量,然后运行一个检查该变量的函数。在ajax请求收到响应时取消设置变量。@首先,我需要创建一个闪烁的框。在ajax请求首次发送时设置一个变量,然后运行一个检查该变量的函数。当ajax请求收到响应时,取消设置变量。@Polyov首先,我需要制作一个闪烁的框。太好了,upvote..只是它有一个问题。如果该框被隐藏,我按下
单击以停止
按钮,则该框将保持隐藏状态。。我不希望那个盒子永远被隐藏。所以当动画结束时,你想让盒子可见?不起作用。。当框可见时,按“停止”
“单击”按钮,它就会变成一个隐藏框。@stack我在复制它时遇到困难,但至少有一次我认为,当我按下按钮时,框仍保持隐藏状态,因为它已经淡出。我无法重现你描述的行为。给我几分钟时间来阅读jQuery动画。谢谢你花时间来解决我的问题。另外,我想,
done
变量不再有用了。太好了,向上投票..只是它有一个问题。如果该框被隐藏,我按下
单击以停止
按钮,则该框将保持隐藏状态。。我不希望那个盒子永远被隐藏。所以当动画结束时,你想让盒子可见?不起作用。。当框可见时,按“停止”
“单击”按钮,它就会变成一个隐藏框。@stack我在复制它时遇到困难,但至少有一次我认为,当我按下按钮时,框仍保持隐藏状态,因为它已经淡出。我无法重现你描述的行为。给我几分钟时间来阅读jQuery动画。谢谢你花时间来解决我的问题。另外,我想,
done
变量不再有用了。