2013-05-03 3 views
-1

Я хочу, чтобы запустить функцию внутри setInterval и изменить переменную для этой функции каждый раз, когда setInterval работает, вот что я до сих пор:Как получить setInterval для работы с массивом в javascript/jquery?

$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); 

Проблема в том, что $ устанавливается обратно к 0 каждый раз, когда запускается setInterval, мне нужно, чтобы он увеличивался каждый раз при запуске setInterval.

+0

И проблема? – Joseph

ответ

0

OK проблема была, я использовал неправильный оператор, так что я надеюсь, что это помогает sopmeone вниз по дороге:

// 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) 
    }); 
}); 
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); 

Это должно исправить ваш код.

Смежные вопросы