setStyle 方法封装

setStyle 方法封装

function setStyle(el, obj) {

// 将样式放入到数组中。

​ var arr = [“height”, “width”, “top”, “left”, “marginLeft”, “fontSize”]

// 遍历传入的对象的属性。我们传入的属性;可能有非string情况

​ for (var x in obj) {

​ if (typeof obj[x] === “string”) { //如果属性对应的值是字符串,则直接赋值

​ el.style[x] = obj[x];

​ } else { // 如果CSS属性对应的值不是字符串

// 用flag 来看作为开关

​ var flag = false;

​ for (var i = 0; i < arr.length; i++) {

// 判断一下该属性是否属于;在这个数组中书否有,通过上面的验证;属性的值不是string

​ if (x === arr[i]) { //判断一下是否存在于arr数组

​ flag = true;

​ break;

​ }

​ }

// flag默认为true

​ if (flag) { //如果存在arr内部,则拼接px

​ el.style[x] = obj[x] + “px”;

​ } else { //如果不是字符串还不存在于arr,也直接赋值(zIndex,opacity)

​ el.style[x] = obj[x];

// arr.push(el.style[x])

​ }

​ }

​ }

​ }

你可能感兴趣的:(前端)