多くの例を見て、従おうとしましたが、どれもうまくいきませんでした。だから私は最終的にここにそれらを掲載しています。私は自分が間違っていることを理解できません。
FAQの質問/回答の一覧があり、回答の表示/非表示機能があります。
これがクロージャーを適用しない私のコードです(これはもちろん最後の質問のみを対象としています)
for(var i = 1; i <= faqCount; i++) {
question = '#' + i + ' .faq_question';
answer = '#' + i + ' .faq_answer';
$(question).click(function () {
$(answer).toggle();
$(question).toggleClass('down');
});
}
しかし、他の例を見ると、私はこれをやろうとしましたが、うまくいきませんでした:
var funcs = [];
function createfunc(i) {
return function() {
question = '#' + i + ' .faq_question';
answer = '#' + i + ' .faq_answer';
$(question).click(function () {
$(answer).toggle();
$(question).toggleClass('down');
});
};
}
for (var i = 0; i < faqCount; i++) {
funcs[i] = createfunc(i);
}
for (var j = 1; j < faqCount; j++) {
funcs[j]();
}
どんな助けでも大歓迎です。ありがとうございました。