-1

我想在 setInterval 中运行一个函数,并在每次 setInterval 运行时更改该函数的变量,这是我目前所拥有的:

$pages = new Array();
$pages.push("home.html","drp.html","drs.html","dffi.html","dci.html","dcp.html","drma.html","construction.html","orgChart.html");
$a = 0;
setInterval(function(){
    $getPage = $pages[$a]
    $(this).getPageToLeft();
    $a++
    alert($a);  
},5000);

问题是 $a 每次 setInterval 运行时都设置回 0,我需要它在每次 setInterval 运行时增加。

4

2 回答 2

1
var pages = new Array();

pages.push("home.html","drp.html","drs.html","dffi.html","dci.html","dcp.html","drma.html","construction.html","orgChart.html");
var a = 0;
setInterval(function(){
    getPage = pages[a]
    //$(this).getPageToLeft();
    a++
    alert(a)
},5000);

这应该可以修复您的代码。

于 2013-05-03T20:57:50.327 回答
0

OK the problem was I used the wrong operator so I hope this helps sopmeone down the road:

// Auto Start
var pages = new Array();

pages.push("home.html","drp.html","drs.html","dffi.html","dci.html","dcp.html","drma.html","construction.html","orgChart.html");
var a = 1;
var int=self.setInterval(function(){flip()},5000);
function flip(){
    if (a === 9){
    a = 0;
    $getPage = pages[a];
    $(this).getPageToLeft();
    a++;
    }else{
    $getPage = pages[a];
    $(this).getPageToLeft();
    a++;
    }   
}
$(document).ready(function(e) {
    $("#getDRP, #getDRS, #getDFFI, #getDCI, #getDCP, #getDRMA, #getConstruction, #getOrgCharts, .leftButton, .rightButton").click(function(){
        int=window.clearInterval(int)
    });
});
于 2013-05-06T14:56:38.843 回答