猿问

我想创建一个类似 jq中的css()里面的函数

我想要是的changeColor 函数里面怎传入一个json呢? 请大神赐教

SMILET
浏览 491回答 1
1回答

炎炎设计

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

相关分类

JavaScript
我要回答