Raphael.jsでいくつかの簡単なボタンを作成しようとしています。だから私は最後のステップで立ち往生しました。これが私のJSFiddle です。ボタンを押した後もボタンはアクティブな状態を維持します。しかし、別のボタンを押すと、押されたボタンを非アクティブにしようとしています。
onclick関数内のループでst.node.state値を取得しようとしましたが、機能していません。これが私のコードです:
for(var i in aus) {
(function (st) {
st.node.state = 0;
st.node.onmouseover = function() {
st.animate({fill: "#8fbf27", stroke: "#fff"}, 100);
};
st.node.onmouseout = function() {
st.animate({fill: "#555", stroke: "#fff"}, 100);
if(this.state == 1){
st.animate({fill: "#fff", stroke: "#fff"}, 100);
}else {
st.animate({fill: "#555", stroke: "#fff"}, 100);
}
};
st.node.onclick = function() {
if(this.state == 0) {
this.state = 1;
st.animate({fill: "#fff", stroke: "#fff"}, 100);
}else {
this.state = 0;
st.animate({fill: "#555", stroke: "#fff"}, 100);
}
};
})(aus[i]);