我想为setinterval创建stop和start函数。
我一直在尝试一切,但我似乎无法做到正确!
这是我的代码:
function myStartFunction() {
var myVar = setInterval(function(){ myTimer() }, 6000);
function myTimer() {
$.ajax({
type:"post",
url:"myphppage.php",
datatype:"html",
success:function(data)
{
if(data!="")
{
}
}
});
}
}
function myStopFunction() {
clearInterval(myVar);
}
这就是我试图打电话给他们的方式(这就是我需要打电话给他们的方式):
启动它:
myStartFunction();
并阻止它:
myStopFunction();
但这不正确,我知道。
有人可以就这个问题提出建议,因为我几乎把头发拉了出来!
提前致谢。
答案 0 :(得分:2)
将myVar声明为全局(函数外部),因为在您的示例中,myStopFunction无法看到它。
var myVar;
function myStartFunction() {
myVar = setInterval(function(){ myTimer() }, 6000);
}
function myTimer() {
$.ajax({
type:"post",
url:"myphppage.php",
datatype:"html",
success:function(data)
{
if(data!="")
{
}
}
});
}
function myStopFunction() {
clearInterval(myVar);
}
答案 1 :(得分:2)
将myVar
设置为像这样的全局变量
var myVar = 0;
function myStartFunction() {
console.log('myStartFunction');
myVar = setInterval(function(){ myTimer() }, 6000);
function myTimer() {
console.log('myTimer');
/*
$.ajax({
type:"post",
url:"myphppage.php",
datatype:"html",
success:function(data)
{
if(data!="")
{
}
}
});
*/
// FOR TEST
myStopFunction();
}
}
function myStopFunction() {
console.log('myStopFunction');
clearInterval(myVar);
}
// FOR TEST
myStartFunction();