以下の宿題の中で、私はこの章から考えることができるすべてを行っているが、全く機能しないだろう。私が何かを見逃しているように感じるか、どこかでうんざりしている。ネストされたリスト 宿題コードに「定義されていません」というエラーが表示されるのはなぜですか?
が、私がやったことは正しいとは思えない。"Using the id property of the list item experiencing the mousedown event, extract the index number with the parseInt() function"
命令の1つは述べています。
window.onload = setup;
function setup() {
var questions = document.querySelectorAll('ol li');
for (var i = 0; i < questions.length; i++) {
questions[i].id = i + "phrase";
questions[i].onmousedown = showEnglish(questions[i]);
questions[i].onmouseup = showFrench(questions[i]);
questions[i].style.cursor = "pointer";
}
}
function showEnglish() {
var phraseNumber = parseInt(questions[i].id);
phraseNumber.innerHTML = english[phraseNumber];
phraseNumber.style.font = "italic";
phraseNumber.style.color = "rgb(191, 22, 31)";
}
function showFrench() {
var phraseNumber = parseInt(questions[i].id);
phraseNumber.innerHTML = french[phraseNumber];
phraseNumber.style.fontStyle = "";
phraseNumber.style.color = "";
}
私はquestions
はそれが重要な場合は、私がメモ帳++で私のコーディングをやっているquestions[i].onmousedown = showEnglish(questions[i]);
と
var phraseNumber = parseInt(questions[i].id);
で定義されていないというエラーを取得します。
のHTMLセグメント:
<ol>
<li>Cet hôtel n'est pas loin de la Tour Eiffel.</li>
<li>A quelle heure arrive le train?</li>
<li>Nous attendons l'autobus depuis une demi-heure.</li>
<li>Ce repas est délicieux.</li>
<li>Quel jour va-t-elle arriver?</li>
<li>Nous avons onze minutes avant le départ du train!</li>
<li>Habiter dans un pays étranger est une bonne expérience.</li>
<li>Excusez-moi! Je suis en retard!</li>
<li>Est-ce que ce taxi est libre?</li>
<li>Faites attention quand vous descendez l'escalier.</li>
</ol>
showFrench
機能は、質問の変数は '' document.querySelectorAll(「オール李」)で、あなたのHTMLのような何ですか? – hackerrdave'questions [i] .onmousedown = showEnglish(questions [i]);'関数をハンドラとして割り当てるのではなく、呼び出しています。代わりに 'questions [i] .onmousedown = showEnglish;'を実行し、ハンドラ内でクリックされた要素を参照するために 'questions [i]'の代わりに 'this'を使用します。 'showFrench'関数と同じです –
@hackerrdaveメインのポストをhtmlセグメントで更新しました。 – Fuey500