Jquery Javascript:如何在每次调用时循环通过数组

Jquery Javascript:如何在每次调用时循环通过数组,jquery,arrays,function,Jquery,Arrays,Function,我试图创建一个函数,它在每次调用时选择数组中的下一个变量 var nexttest=['abc','def','ghi']; function nexttest() { if (nexttest = 'abc') { $('#result').load('url1.html'); } else if (nexttest = 'def') { $('#result').load('url2.html'); } else { $('#result').load('url3.ht

我试图创建一个函数,它在每次调用时选择数组中的下一个变量

var nexttest=['abc','def','ghi'];
function nexttest() {
 if (nexttest = 'abc') {
  $('#result').load('url1.html');
 }
 else if (nexttest = 'def') {
  $('#result').load('url2.html');
 }
 else {
  $('#result').load('url3.html');
 }
}

有没有办法让nexttest第一次使用abc,第二次使用def,第三次使用ghi。

您可以创建一个跟踪数组索引的变量:

var index = 0;
然后,在函数中,可以使用索引变量选择要与之交互的数组元素:

var interactWithThis = nexttest[index];
然后在每次调用函数时增加索引:

index++;

您将创建一个跟踪数组索引的变量:

var index = 0;
然后,在函数中,可以使用索引变量选择要与之交互的数组元素:

var interactWithThis = nexttest[index];
然后在每次调用函数时增加索引:

index++;
我更愿意这样做

var tester = function(){
    var i = 0;
    var tests = ['abc','def','ghi'];
    this.nexttest = function() {
        if (tests[i] == 'abc') {$('#result').load('url1.html');}
        else if (tests[i] == 'def') {$('#result').load('url2.html'); }
        else { $('#result').load('url3.html');}        
        i++;
    };
}

var testing = new tester();

testing.nexttest();
testing.nexttest();
testing.nexttest();
testing.nexttest();

我更愿意这样做

var tester = function(){
    var i = 0;
    var tests = ['abc','def','ghi'];
    this.nexttest = function() {
        if (tests[i] == 'abc') {$('#result').load('url1.html');}
        else if (tests[i] == 'def') {$('#result').load('url2.html'); }
        else { $('#result').load('url3.html');}        
        i++;
    };
}

var testing = new tester();

testing.nexttest();
testing.nexttest();
testing.nexttest();
testing.nexttest();

你真的是说if和else if中只有一个=吗?尽管已经提供的两种方法中的任何一种都可以很好地工作,如果你不需要维护nextest数组,你可以在每次调用函数时弹出值。你真的是说if和else if中只有一个=吗?尽管已经提供的两种方法中的任何一种都可以很好地工作,如果你不需要维护nextest数组,你可以在每次调用函数时弹出值。基思,谢谢你的建议。您知道如何从iframe调用此函数吗?我一直在尝试parent.testing.nexttest和window.parent.testing.nexttest,但两者都不起作用。parent.testing.nextest工作正常,只是协议的不同把它搞乱了,因为我用SSL查看我的站点,用SSL加载iframehttp://...oh 好吧,现在我明白了,时间浪费完了。基思,谢谢你的建议。您知道如何从iframe调用此函数吗?我一直在尝试parent.testing.nexttest和window.parent.testing.nexttest,但两者都不起作用。parent.testing.nextest工作正常,只是协议的不同把它搞乱了,因为我用SSL查看我的站点,用SSL加载iframehttp://...oh 好吧,现在我明白了,时间浪费完了。