我正在尝试让鼠标滚动。即,当用户将指针放在图像鼠标上时,触发事件并且阵列中的下一个图像结束。但是当我运行此脚本时没有发生任何事情:
window.onload = startRollOver;
var pictures = new Array("1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.jpg","7.jpg","8.jpg");
var i = 0;
function startRollOver() {
document.getElementById("picture").src.onmouseover = createRollOver();
}
function createRollOver() {
if(i<=7)
return pictures[i++];
if(i>7) {
i=0;
return pictures[i];
}
}
我哪里错了?
答案 0 :(得分:1)
您在字符串“src”上设置“onmouseover”而不是在DOM元素上设置。您需要在DOM元素上设置事件。
window.onload=startRollOver;
function startRollOver() {
document.getElementById("picture").onmouseover = function (e) {
e.target.src = createRollOver();
};
}
function createRollOver() {
// ...
}
答案 1 :(得分:1)
.src.onmouseover
没有多大意义。您应该为onmouseover
分配一个函数,以便在鼠标移过元素时调用该函数:
document.getElementById("picture").onmouseover = function() { // is executed when mouse is over element
this.src = createRollOver(); // each time it is called, change the src
};
此外,您可以使用更方便的方式声明数组:
["1.jpg", "2.jpg", ...]