我想在Raphael.js上做一些简单的按钮。 所以我陷入了最后一步。 这是我的JSFiddle 所以我的按钮保持活动状态后,你按下它们。 但我试图按下按钮 不活动,当我按另一个。Raphael.js onclick事件
我试图让st.node.state的值与onclick函数内的循环 但它只是不适合我。 这里是我的代码:
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]);
所有发生在点击事件? – numbers1311407 2013-03-23 19:58:10
你是什么意思? – 2013-03-23 20:03:04
我没有看到您正在循环尝试停用所有其他节点的部分。我怀疑你是否在一个onclick处理程序中做了所有这些。 – numbers1311407 2013-03-23 20:06:42