设置相应值的正确方法是什么?
如何使用“for ... in”来完成这项工作。
我与 self[state] 关联的函数似乎在循环之后以 states[state] 的最新值运行,而不是在循环期间与其关联的函数。
cssbtn = function(id, states, state){
var self = document.getElementById(id);
var states = states || {'off': '0px 0px', 'selected': '-20px 0px', 'selected2': '-40px 0px' };
var state = state || 'off';
for (state in states) {
self[state] = function (){
alert(states[state]); //demo purposes
}
}
self.onmouseover = function(evt){
self.selected();
}
self.onmouseout= function(evt){
self.off();
}
self.onclick= function(evt){
self.selected2();
}
return self;
}