0
我必须调用一个函数来将法语短语翻译成英语,并且我卡在showEnglish()
上。它不会拉动english
阵列。而且我甚至不确定我是否在单独的JavaScript文件中引用了设置功能。卡住了javascript函数?
这是我到目前为止有:
window.onload = setup;
function setup() {
var questions = document.querySelectorAll("article ol li");
for (var i = 0; i < questions.length; i++){
questions[i].id = i + "phrase";
questions[i].onmousedown = showEnglish;
//questions[i].onmouseup = showFrench;
questions[i].style.cursor = "pointer";
}
}
function showEnglish() {
var phrases = document.getElementById("phrase");
var phraseNumber = parseInt(phrases.id);
phraseNumber.innerHTML = english[phraseNumber];
phraseNumber.style.fontStyle = "italic";
phraseNumber.style.fontColor = "rgb(191, 22, 31)";
}
''phraseNumber'在分配parseInt()'的结果后包含一个数值。那么,为什么你后来把它当作一个DOM元素来处理,通过设置它的属性,比如'innerHTML','style'等等呢?这不会像你期望的那样工作。 – RJM
我认为这是我感到困惑的地方。谢谢!我会收回并纠正它! – aisem19
当被调用时,'MouseDown'事件作为'showEnglish'函数的参数传递。您必须使用'event.srcElement'(或Firefox上的'event.target')来检索触发事件及其''id'的元素。但可以简化这一点,避免使用ID。请参阅下面的答案。 –