2014-12-03 23 views
0

我想使用一個id數組,爲我正在構建的小滑塊查看器。我只想使用2個按鈕來顯示多個事物。使用滑塊的值數組

現在我用這樣的事情,只用2網址的ID,但我至少需要20在URLID我查看器:

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


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

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

所以我從來沒有使用一個數組,而我的東西嘗試沒有工作。你知道一個合適的方式來做到這一點嗎?

回答

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通常被保留用於實例化類作爲新的,從你的例子你似乎正在改變一個資源,所以你可能想要一個函數名稱,如client.show();或client.update();

+0

它的工作原理!有一些事情我需要修復tho:索引是[0],但是當我按Next時,它再次加載[0],然後是[1],[2] ...我不明白它爲什麼加載[0] – Elgatoestacontento 2014-12-03 16:32:47

+0

如果是這種情況,然後切換索引增量與init,所以你做索引++,並檢查它沒有超過它的界限之前運行client.init() – Varedis 2014-12-03 16:40:02

+0

感謝您的幫助Varedis,但我完全是一個初學者,我沒有得到你想要解釋我在這裏.. – Elgatoestacontento 2014-12-03 16:48:52

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

我不得不使用 「索引= array.length-1;」,但我無法解釋。你知道爲什麼 ?如果我只有4個值,指數可能是5?