毎日Jqueryについて多くを学びます。ただし、この多次元配列のアイテムを一度に1つずつ表示し、各アイテムをフェードインおよびフェードアウトする方法を一生理解できないようです。*これらを追加したくないことに注意してください。1つのセットを表示してから、フェードアウトして次のセットにフェードインします。ここにあなたのプロのためのいくつかの情報があります。
基本的にここでは、データという名前のjsonオブジェクトにあるものを結果に保存しています。これは、alert(result ['question'])を置くかのように毎回ループしているように見えますが、一度に1つずつ値が表示されますが、これをdivに適用しようとすると、 .Active、それは全体をループし、配列の最後のアイテムを私に与えます。2 + 2 lol duh12.ここで何が間違っているの?? 必要に応じて、jfiddleをリギングしようとします。
phpページからのオブジェクト(データと呼ばれる)
[{"id":"238","question":"Which of these is a noun?","answer":"horse"},{"id":"238","question":"Which of these is a noun?","answer":"long"},{"id":"238","question":"Which of these is a noun?","answer":"pretty"},{"id":"238","question":"Which of these is a noun?","answer":"hair"},{"id":"238","question":"2+2 lol duh 1 2","answer":"4"}]
コード
for (var i = 0; i < data.length; i++) {
result = data[i];
console.log(result['question']);
liText += '<span><h5>'+result["question"]+'</h5>';
liText += '<p><b>Option: </b>'+result["answer"];
liText += '</p></span>';
$.each(result['question'], function(index) {
$(this).delay(400*index).fadeIn(300);
});
$('.Active').text(result['question']);
}
結果のコンソールログ[質問]*これらは正しいことに注意してください。5つの異なる質問、最初の4つは同じです。
Which of these is a noun?
index....mid=119 (line 227)
Which of these is a noun?
index....mid=119 (line 227)
Which of these is a noun?
index....mid=119 (line 227)
Which of these is a noun?
index....mid=119 (line 227)
2+2 lol duh 1 2
ps *代わりに上記のliTextで動作させることができれば、100万リスペクトポイント:)
編集*
.eachを削除し、この周りでいくつかのことを上に移動することはうまくいくようですが、最初にフェードインを出し、それぞれをフェードアウトするのを手伝ってくれる人は誰でもそれをいただければ幸いです。$('。Active')にあります
for (var i = 0; i < data.length; i++) {
result = data[i];
alert(result['question']);
$('.Active').text(result['question']);