2012-08-30 4 views

답변

2

그리기 기능을 매개 변수화 한 다음 mouseover/mouseout 이벤트를 캔버스에 추가하여 다른 매개 변수로 그리기 기능을 호출 할 수 있습니다.

canvas.addEventListener ("마우스 오버"함수() { 연신 ("# FF0000의", "# 00FF00의", "#의 0000FF"); });

canvas.addEventListener ("마우스 아웃"함수() { 연신 ("# 474747", "# 6a6a6a의", "#의 b9b9b9"); })

여기서

VAR 그리는 = 함수 (COLOR1, COLOR2 그림자) {

[...]

var lingrd = context.createLinearGradient(0, 0, 0, 195); 
    lingrd.addColorStop(1, color1); 
    lingrd.addColorStop(0, color2); 
    context.fillStyle = lingrd; 
    context.shadowColor = shadow; 
,363,210

[...]

}

당신이이 fiddle

+0

에서 작업을 볼 수 있습니다 그리고 그것은 분리 된 블록에 대해 어떻게해야? 예를 들어 마우스를 처음으로 움직이면 처음 것만 색이 바뀝니다. 가능한가? –

+0

이렇게하려면 마우스 감지 메커니즘이 필요합니다. 이것은 더 복잡한 문제를 해결하기위한 것입니다. 이런 종류의 기능이 필요한 경우 일종의 캔버스 프레임 워크를 사용하면 더 잘 수행 할 수 있습니다. 기존의 [here] (http://stackoverflow.com/questions/3474608/what-is-the-current-state-of-the-art-in-html-canvas-javascript-)에 대한 토론을 찾을 수 있습니다. 도서관 및 도서관) – jbalsas

관련 문제