javascript - 我想创建一个类似 jq中的css()里面的函数
阿神
阿神 2017-04-11 11:12:39
[JavaScript讨论组]

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

阿神
阿神

闭关修行中......

全部回复(3)
伊谢尔伦
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;];这样的
}

以上的谨为思路,具体每步的实现还得楼主自己去玩
这需求...好吧,希望能帮到你

迷茫

不知道是不是你想要的:

  // ES5
  function changeColor(dom, style) {
    dom.style = Object.assign(dom.style, style);
  }

  // ES6
  function changeColor(dom, style) {
    dom.style = {...dom.style, ...style};
  }
黄舟

真正要写估计顾及的方面很多。。。

function changecolor(dom,obj){
    for(var i in obj){
      console.log(i)
      dom.style[i]=obj[i];
    }
 }//大概这样就可以了,但真正用起来,估计坑会不少。。
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号