2011-12-14 3 views
0

これはあなたにとって簡単なものです。ここでjQueryセレクタの変数

は私のコードです:

var p7slide = 0; 
$("#p7-forward").click (function() { 
    p7animate = null; 
    if (p7slide == 6) { 
     $("#p7-6").fadeOut("slow", function() { 
      p7slide = 0;    
     }); 
    } 
    else { 
     p7slide++; 
     $("#p7-" + p7slide).fadeIn("slow"); 
     <!--$("#p7-" + "p7slide - 1").fadeOut("slow");--> 
    }; 
}); 

私はelseステートメントでコメントアウト行で参照してください一部。

私がこれを行うには、p7slideを見つけてこの値から1を取る必要があります。それをセレクタとして使用します。例えば。 p7slide = 2の場合、セレクタは#p7-1をまとめます。なんらかの理由で、この声明は機能しません。

ここで間違っていたアイデアはありますか?

ありがとうございました

+1

ノートに数値関数を使用することはできませんよう「」タグを削除してください。 –

答えて

2

あなたは操作ではなく文字列としてハードコードされています。

$("#p7-" + "p7slide - 1").fadeOut("slow"); 

var slideNumber = p7slide - 1; 
$("#p7-" + slideNumber).fadeOut("slow"); 

注意を置き換える:をJSでは、あなたが最初の文字列で+演算子を使用している場合、その数は、その後、あなたが連結よ最初の文字列の末尾にある文字列としての数字。詳細はhttp://www.quirksmode.org/js/strings.htmlを参照してください。

0

を使用すると、HTMLのコメントはJavaScriptで無効であることを文字列

$("#p7-" + p7slide - 1).fadeOut("slow"); 
+0

''文字列に数値関数を使うことはできません。 ''は正確ではありません。 '+'は関数ではなく、演算子です。演算子は文字列で使うことができますが、最初のオペランドが文字列の場合は、数値を最初の文字列に連結します。詳しくはhttp://www.quirksmode.org/js/strings.htmlを参照してください。 – StuperUser

+0

あなたの回答をupvoted合意しました –

関連する問題