2011-09-18 10 views
0

마우스를 롤오버하려고합니다. 사용자가 트리거되는 이벤트를 통해 이미지 마우스의 포인터와 배열에서 다음 이미지를 배치 나는이 스크립트를 실행하고 때 이겼다고 아무것도 발생하지 않습니다 때 즉 :롤오버 스크립트가 작동하지 않습니다.

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]; 
} 
} 

어디서 잘못된 것입니까?

답변

1

.src.onmouseover은별로 의미가 없습니다.

["1.jpg", "2.jpg", ...] 
: 또한

document.getElementById("picture").onmouseover = function() { // is executed when mouse is over element 
    this.src = createRollOver(); // each time it is called, change the src 
}; 

, 당신이 선언 배열의보다 편리한 방법을 사용할 수 있습니다 : 함수가 불려 가도록 (듯이), 요소 위로 마우스를 이동하면 onmouseover에 기능을 할당해야

1

"onmouseover"는 DOM 요소 대신 "src"문자열에 설정합니다. DOM 요소에 이벤트를 설정해야합니다.

window.onload=startRollOver; 

function startRollOver() { 
    document.getElementById("picture").onmouseover = function (e) { 
     e.target.src = createRollOver(); 
    }; 
} 

function createRollOver() { 
    // ... 
} 
관련 문제