被javascript函数卡住了?
我必须调用一个函数将法语短语翻译成英语,我被困在被javascript函数卡住了?,javascript,html,css,Javascript,Html,Css,我必须调用一个函数将法语短语翻译成英语,我被困在showEnglish()上。它不会拉取英文数组。我甚至不确定是否引用了单独JavaScript文件中的setup函数 以下是我目前掌握的情况: window.onload = setup; function setup() { var questions = document.querySelectorAll("article ol li"); for (var i = 0; i < questions.length;
showEnglish()
上。它不会拉取英文
数组。我甚至不确定是否引用了单独JavaScript文件中的setup函数
以下是我目前掌握的情况:
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)";
}
window.onload=设置;
函数设置(){
var问题=document.querySelectorAll(“第三条”);
对于(var i=0;i
以下是一个不使用ID的示例代码段,它应该符合您的需要
可以使用脚本从翻译对象轻松构建问题列表。(检查下面第二个解决方案中的代码段)
//文档加载时(警告:不适用于IE8)
document.addEventListener('DOMContentLoaded',function(){
设置()
})
//储存法语->英语翻译
变量转换={
“你有什么意见?”:“你叫什么名字?”,
“你住在哪里?”
};
//将“translate”函数附加到问题“mousedown”事件
函数设置(){
文件
.querySelectorAll(“第三条”)
.forEach(功能(el){
el.onmousedown=showEnglish
});
}
//在元素上鼠标向下移动时显示平移
函数showEnglish(事件){
var元素=event.src元素| | event.target
var translation=document.getElementById(“translation”);
translation.innerHTML=翻译[element.innerText];
}
.问题{光标:指针;填充:4px}
.translation{字体样式:斜体;颜色:rgb(191,22,31)}
问题
您对上诉有何评论
Oùhabitez你呢
贸易
phraseNumber
在分配parseInt()的结果后包含一个数值。那么,为什么以后要通过设置属性(如innerHTML
、style
)将其视为DOM元素来处理呢?这不是你所期望的。我想这就是我感到困惑的地方。谢谢我会回来纠正的<调用时,code>MouseDown
事件作为showEnglish
函数的参数传递。您必须使用event.srcmelement
(或Firefox上的event.target
)检索触发事件的元素及其id
。但是可以简化这一点,避免使用ID。请看下面我的答案。它起作用了吗?如有任何反馈,将不胜感激;)添加了第二个解决方案