css「」获取样式当前值和设置样式的简单封装

封装css样式获取和设置函数

CSS(层叠样式表)是网页前端开发的重要组成部分,通过CSS,可以方便的控制网页的样式和布局。JS提供了许多操作DOM和CSS的方法,通过JS可以获取和设置CSS样式,本篇文章主要介绍CSS样式的获取和设置方法的封装。

1. 获取CSS样式值

在JS中获取CSS样式的值有多种方法,这里介绍其中的一种方法。首先,我们需要获取到要获取样式值的元素,然后使用getComputedStyle()方法获取该元素的计算样式。

/* HTML */

<div id="myDiv" style="width: 100px; height: 100px; background-color: f00;"></div>

/* 获取元素 */

const myDiv = document.getElementById('myDiv');

/* 获取计算样式 */

const computedStyle = window.getComputedStyle(myDiv);

/* 获取背景色 */

const backgroundColor = computedStyle.getPropertyValue('background-color');

console.log(backgroundColor); // "rgb(255, 0, 0)"

在上面的代码中,我们使用getElementById()方法获取到id为myDiv的元素,然后使用getComputedStyle()方法获取计算样式,最后使用getPropertyValue()方法获取背景色。需要注意的是,getPropertyValue()方法返回的值是一个字符串,如果需要使用该值进行计算,需要将其转换为合适类型的值。

2. 设置CSS样式值

在JS中设置CSS样式的值也有多种方法,这里介绍其中的一种方法。和获取样式不同的是,我们需要获取到要设置样式值的元素的style属性,然后使用其对应的属性名设置样式值。

/* 获取元素 */

const myDiv = document.getElementById('myDiv');

/* 设置样式值 */

myDiv.style.backgroundColor = '00f';

在上面的代码中,我们使用getElementById()方法获取到id为myDiv的元素,然后使用其style属性设置背景色。需要注意的是,设置样式值是直接使用JS操作DOM树,因此不需要使用getPropertyValue()方法获取计算样式。

3. 封装函数

根据上面的介绍,我们可以封装一个简单的CSS样式获取和设置函数:

/* 获取元素的样式值 */

function getStyle(element, property) {

const computedStyle = window.getComputedStyle(element);

const value = computedStyle.getPropertyValue(property);

return value;

}

/* 设置元素的样式值 */

function setStyle(element, property, value) {

element.style[property] = value;

}

使用上面的封装函数,我们可以方便的获取和设置CSS样式的值:

/* 获取元素的背景色 */

const myDiv = document.getElementById('myDiv');

const backgroundColor = getStyle(myDiv, 'background-color');

/* 设置元素的背景色 */

setStyle(myDiv, 'background-color', 'blue');

上述代码中,我们使用getStyle()方法获取id为myDiv元素的背景色,使用setStyle()方法将其修改为blue。

4. 总结

通过封装CSS样式获取和设置函数,我们可以简化JS操作CSS样式的过程,使得代码更加易读和易于维护。当然,不同的项目和场景对CSS样式的操作需求是不同的,需要根据具体情况进行选择和封装。