2011-12-25 70 views
0

所以我有這個有趣的小問題,我想解析圖像的ID。沒有太複雜......但奇怪的是,我的代碼似乎不能正常工作。這很奇怪。有沒有人可以解釋這一點?我對自己無法看到錯誤感到失望。ID解析然後使用選擇器

下面是無法工作的相關代碼片段:

 //Toggling images using img-index variable. 
     img-index = 0; 
     img-src[0] = $("#ppsfb").attr("id"); 
     img-src[1] = $("#gty").attr("id"); 

     $("#cycle").click(function(){ 
      //Since img-index is just a counter. 
      if (img-index < 2){ 
      img-index = img-index + 1; 
      } else {img-index = 0;}       

      $(img-src[img-index]).fadeIn(1000);    
     }); 
+0

無效變量的名稱,應該是'[A-ZA-Z _ $] [0-9A-ZA-Z _ $] *' – 2011-12-25 03:56:21

回答

1

img-src不是JavaScript的一個有效的標識符。這可能是失敗的原因。

退房this fiddle並注意Unexpected token -錯誤

0

img-index不是在JavaScript中有效的變量名,你可能想使用img_indeximgIndex。另外,對來自ID選擇器的東西調用attr('id')毫無意義,$("#ppsfb").attr("id")'ppsfb'或什麼都不是。你可能更適合在img_src中存儲整個jQuery對象,即使在解決命名問題後,你的$(img-src[img-index])也不會做你想做的事情。此外,您可能想要在顯示新圖像之前隱藏或淡出當前圖像。

img_index = 0; 
img_src[0] = $('#ppsfb'); 
img_src[1] = $('#gty'); 

$("#cycle").click(function(){ 
    img_src[img_index].hide() // Or .fadeOut or ... 
    if(img_index < 2) 
     img_index = img_index + 1; 
    else 
     img_index = 0; 
    img_src[img_index].fadeIn(1000);    
}); 

想必你的定位,堆垛等已經整理出來。

+0

笑,我覺得這麼愚蠢。並不是我沒有經歷過。我只是混淆了HTML和Javascript中的有效名稱類型。我總是用Javascript做出不好的假設(因爲它是如此多才多藝)。 – 2011-12-25 03:59:21