2011-12-25 16 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 _ $] *' –

答えて

1

img-srcはJavaScriptで有効な識別子ではありません。それはおそらくこれが失敗する理由です。

this fiddleをチェックアウトし、

0

img-indexではJavaScriptが有効な変数名ではありませんUnexpected token -エラーに注意してください、あなたはおそらくimg_indexまたはimgIndexを使用したいです。また、attr('id')を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を使って悪い仮定をしています(それは多才なので)。 –

関連する問題