2013-12-13 82 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

定義var 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

那是因爲你聲明clickfarbe1()功能境內關外。所以它在每次新的呼叫時都設置爲undefined,並且永遠不會到達click == 0