1 回答
TA贡献1808条经验 获得超4个赞
function changeColor(dom, fn(str)) {//这是设置样式的原方法
for(var i=0,len=attr_arr.length;i<len;i++){
setStyle(dom,i,attr_arr[i]) ;//调用新的样式设置的方法
}
}
function setStyle(a,b,c){
var somthing=a+"."+"style"+"."+b+"="+c+";";//我不知道这样平起来对不对,或者你可以直接a.attr(b,c);
return somthing;
}
function fn(str){//这个就是那个josn的处理方法(用这个方法替换josn数据)
var Str=str;
var reg=/\:([^\:]+)\;/g;
var attr=str.match(reg);//获取属性值数组
var attr_n=Str.replace(attr,"");//获取属性名数组
for(var i=0,len=attr.length;i<len;i++){
var attr_arr=[];
attr_arr.push(attr[i]+":"+attr_n[i]);//放到一个新数组内,没办法,我倒是想直接返回两个数组,貌似不行,逻辑上说不通。
}
return attr_arr;//返回的数组,大概的格式如 :attr_arr=[color:#222;background:#333;];这样的
}
以上的谨为思路,具体每步的实现还得楼主自己去玩
这需求...好吧,希望能帮到你
添加回答
举报