Computer >> Máy Tính >  >> Lập trình >> Javascript

Nhận và đặt các biến CSS bằng JavaScript

Phương thức getComputedStyle () đưa ra một đối tượng bao gồm tất cả các kiểu được áp dụng cho phần tử đích. Phương thức getPropertyValue () được sử dụng để lấy thuộc tính mong muốn từ các kiểu được tính toán. setProperty () được sử dụng để thay đổi giá trị của biến CSS.

Ví dụ

Các ví dụ sau minh họa cách chúng ta có thể lấy và đặt các biến CSS bằng JavaScript.

<!DOCTYPE html>
<html>
<head>
<style>
:root {
   --outerColor: magenta;
   --innerColor: lightgreen;
   text-align: center;
}
div {
   margin: 5%;
   padding: 10%;
   background-color: var(--innerColor);
   border: 2px groove var(--outerColor);
}
</style>
</head>
<body>
<div onmouseover="showColor()" onmouseout="changeColor()">
<p></p>
</div>
</body>
<script>
let ele = document.querySelector(':root');
let para = document.querySelector('p');
function showColor() {
   let cs = getComputedStyle(ele);
   para.textContent = ("Previously " + cs.getPropertyValue('--innerColor') + " color");
}
function changeColor() {
   let item = document.querySelector('div');
   item.style.setProperty('--innerColor', 'magenta')
}
</script>
</html>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Nhận và đặt các biến CSS bằng JavaScript

Ví dụ

<!DOCTYPE html>
<html>
<head>
<style>
:root {
   --customColor: seagreen;
}
div {
   margin: 5%;
   width: 130px;
   height: 130px;
   box-shadow: inset 0 0 38px var(--customColor);
   border-radius: 50%;
}
</style>
</head>
<body>
<div onmouseover="toggle()"></div>
</body>
<script>
let ele = document.querySelector(':root');
function toggle() {
   let cs = getComputedStyle(ele);
   let item = document.querySelector('div');
   if(cs.getPropertyValue('--customColor') !== 'blue') {
      item.style.setProperty('--customColor', 'blue')
   }
}
</script>
</html>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Nhận và đặt các biến CSS bằng JavaScript