2013-12-13 5 views
1

다음 코드에서 볼을 다시 클릭하면 볼의 색상이 빨간색으로 바뀌지 않는 이유는 무엇입니까?onclick 이벤트를 반복하는 방법은 무엇입니까?

<!DOCTYPE html> 
<html> 
<body> 

<script> 
function farbe1(){ 
    var stern_style = document.getElementById('kugel1').style; 
    var click; 

    if(click != 0){ 
    stern_style.setProperty('fill','#F57200'); 
    click = 0; 
    } 
    else if(click == 0){ 
    stern_style.setProperty('fill','red'); 
    click = 1; 
    }} 

</script> 

<svg height="2000" width="2000"> 

<circle id="kugel1" cx="1050" cy="500" r="50" style="fill:red;" onclick="farbe1()" /> 

</svg> 

</body> 
</html> 

저는 초보자이기 때문에 도움이됩니다.

답변

2

깃발 당신이 기억하는 경우, 리셋 기능에서 이동 얻을 때문에 :

var click=0; 
function farbe1(){ 

    var stern_style = document.getElementById('kugel1').style;  

    if(click != 0){ 
     stern_style.setProperty('fill','#F57200'); 
     click = 0; 
    } 
    else if(click == 0){ 
     stern_style.setProperty('fill','red'); 
     click = 1; 
    } 
} 
+0

정말 고마워요! – user3099426

0

당신이 당신의 farbe1() 함수 내에서 click를 선언하기 때문이다 기능

var click; 

function farbe1(){ 
var stern_style = document.getElementById('kugel1').style; 

if(click != 0){ 
stern_style.setProperty('fill','#F57200'); 
click = 0; 
} 
else if(click == 0){ 
stern_style.setProperty('fill','red'); 
click = 1; 
}} 
0

외부 var click;을 정의합니다. 따라서 새 호출이있을 때마다 undefined로 설정되고 click == 0에 도달 할 수 없습니다.

관련 문제