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。請參閱下面的答案。 –