2013-07-04 37 views
0

有一個滑塊中使用的圖像列表。一個接一個是活躍和可見的。還有一個點擊計數器,女巫對滑塊沒有什麼興趣。在第10張圖片上,然後在每個5張圖片塊之後都會發生,只有當點擊計數器具有特定值時纔會發生。在這種情況下,這裏應該發生什麼時候:通過jquery中的條件和依賴來減少和簡化代碼?

10th image and clickcounters value is 1 
15th image and clickcounters value is 2 
20th image and clickcounters value is 3 
25th image and clickcounters value is 4 
... and so on. 

我的jquery看起來像這樣。這些圖像被編入索引:

var num = 5; 
    if (instance.index === num*2 && countCalc == 1) { 
    do something; 
    } 
    else if (instance.index === num*3 && countCalc == 2) { 
    do something; 
    } 
    else if (instance.index === num*4 && countCalc == 3) { 
    do something; 
    }; 

如果變量num ist設置爲5,則與clickcounter有明確的關係。點擊計數器總是與第二個乘數相同的值小於1.我不知道如何在一個站點中寫入這個數據,而不必爲每個第5個圖像重複一次。任何人都可以給我一個提示嗎? THX

回答

0

你可能想嘗試模塊化分工:

if (instance.index % num === 0 && countCalc === instance.index/num - 1) {}

instance指數除以當所述索引是num的倍數時,餘數爲0。該指數再次被num除,那麼結果就會減去countCalc值。

+0

你是國王dapzzaman!這似乎工作完美。我現在需要進行一些模塊化的劃分,以便真正理解它。也感謝所有其他人。 –

0

一個一個班輪我對此表示懷疑,但嘗試挖掘到這樣的事情:

$("div:nth-of-type(5)") 
    .each(function(i, ele) { 
     $(ele) 
      .data("counter", i) 
      .click(function(){ 
       if ($(this).data("counter") == counter) { 
        // do something 
       } 
      }); 
    }); 

http://jsfiddle.net/KzyfY/1/

不知道,如果你已經對你的圖片點擊事件或此處沒有..所以我很分配和測試。也許這個和@mhu建議的組合

+0

對不起。甚至不問你是否使用jQuery。我的例子需要它... – Robert