使用滑块的值数组

时间:2014-12-03 15:07:18

标签: arrays slider viewer

我想使用一个id数组,对于我正在构建的小滑块查看器。我只想使用下一个和之前的2个按钮显示多个内容。

现在我使用这样的东西,只使用2个url id,但我的观众需要至少20个urlid:

var urlid1 = 'd3885ca76ac54e958c2855a4fbd3dbf3';
var urlid2 = '3aa64527d1614998b4812bfefbbc896a';


function Next() {
    client.init( urlid2 );
}

function Previous() {
    client.init( urlid1 ); }

所以我以前从未使用过数组,而且我尝试过的东西都不起作用。你知道这样做的正确方法吗?

2 个答案:

答案 0 :(得分:0)

这似乎很直接

var index = 0;
var array = ["url1", "url2", "url3", ...]

function next() {
    index++;
    if(index > array.length) {
        index = 0;
    }
    client.init(array[index]);
}

function previous() {
    index--;
    if(index < 0) {
        index = array.length;
    }
    client.init(array[index]);
}

最好将这些对索引变量的更改重构为其他函数以实现重用,但这可以让您了解它是如何完成的。

如果客户端是您编写的内容,那么您可能希望查看函数的命名,init通常保留用于将类实例化为new,从您的示例中您似乎正在更改资源,因此您可能需要函数名称,如client.show();或者client.update();

答案 1 :(得分:0)

感谢Varedis。

最终代码是:

var index = 0;
var array = ["0e4b4e0789bf41c7b05129a76de0abb0","3aa64527d1614998b4812bfefbbc896a","d3885ca76ac54e958c2855a4fbd3dbf3","8f927023e10c40b9b22d3c13df7c08aa"];

client.init(array[index]);

function next() {
    index++;
    if(index >= array.length) {
        index = 0;
    }
    client.init(array[index]);
}

function previous() {
    index--;
    if(index < 0 ) {


        index = array.length-1;
    }
    client.init(array[index]);
}

我不得不使用“index = array.length-1;”但我无法解释它。你知道为什么 ?如果我只有4个值,那么索引如何为5?