jPlayer(jquery audio player):jPlayer1、jPlayer2、jPlayer3、jPlayer4の各インスタンスは、オーディオファイルで初期化され、プリロードされています。jQuery要素IDをインクリメントする方法
以下の関数を呼び出すと、既存の配列をトラバースし、プリロードされたオーディオを再生するメソッドを追加します。
function addPlayAudioMethodToExerciseArray(){
for (i in qaArray){
qaArray[i].playAnswer = function(){ $('#jPlayer'+i).jPlayer('play',0);}
}
}
それは一部を除いて大丈夫メソッドを作成します( '#jPlayer' + I)( '#jPlayer2')、( '#jPlayer1')になることを評価されていない、など
多く前もって感謝します。 注:私は騒ぎです。
これはJavaScriptに新しいそれらのための非常に一般的な落とし穴です。 – Pointy
qaArrayの内容を教えてください。 - あなたのために(i in qaArray)私は0になるので、最初の '#jPlayer' + 'は#jPlayer0'になります...存在しません。私はまた、いくつかの閉鎖を追加する必要があると思うか、私はいつも最後のものになります(qaArray.length-1)。 – dievardump
私は転記のために簡略化しました。元のコードはif(i> 0){//開始トラバース}でした。したがって、このメソッドはqaArray [1]から始まります。これは '#jsPlayer1'がハードコードされている場合に機能します。もちろん、すべてのメソッドは同じjsPlayer1をトリガーします。意図したとおりではありません。 – 10davvid