我正在尝试在 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]);