Heim  >  Artikel  >  Web-Frontend  >  js ändert CSS dynamisch

js ändert CSS dynamisch

WBOY
WBOYOriginal
2023-05-27 09:26:371955Durchsuche

Mit der kontinuierlichen Weiterentwicklung der Frontend-Technologie ist JavaScript zu einem unverzichtbaren Bestandteil der Webentwicklung geworden. In JavaScript ist das dynamische Ändern von CSS-Stilen eine der häufigsten Anforderungen. Dadurch können viele coole Effekte erzielt werden, z. B. Spezialeffekte, wenn die Maus darüber bewegt wird, und die Farbe der Navigationsleiste ändert sich, wenn die Seite gescrollt wird. In diesem Artikel wird ausführlich beschrieben, wie Sie CSS-Stile in JavaScript dynamisch ändern.

1. Verwenden Sie JavaScript, um den Stil von Elementen zu ändern.

In HTML können wir die Seite verschönern, indem wir CSS-Stile zu Elementen hinzufügen. In JavaScript kann der Effekt der dynamischen Änderung von Stilen durch Ändern der Attribute von Elementen erzielt werden.

  1. Verwenden Sie das Stilattribut des Elements

Wir können das Stilattribut des HTML-Elements verwenden, um den Stil des Elements direkt zu ändern. Diese Methode eignet sich zum Ändern des Stils eines einzelnen Elements.

Beispielcode:

<div id="box" style="background-color: green;">我是一段文本</div>

In JavaScript können Sie den Stil eines Elements dynamisch ändern, indem Sie sein Stilattribut abrufen:

var box = document.querySelector('#box');
box.style.backgroundColor = 'red';

Nachdem Sie seinen Stil über JavaScript geändert haben, wird der Stil des Elements rot.

  1. Verwenden des Stilelements des Elements

Eine andere Möglichkeit, den Stil eines Elements dynamisch zu ändern, besteht darin, das Stilelement des Elements zu verwenden. Das style-Element ermöglicht uns den direkten Zugriff auf das Stylesheet des Elements in JavaScript und die Änderung seines Stils.

Beispielcode:

<div id="box"></div>

<style>
    #box {
        background-color: green;
    }
</style>

In JavaScript können Sie das Stilelement eines Elements abrufen, indem Sie dessen Stilattribut abrufen und dann seinen Stil dynamisch ändern:

var box = document.querySelector('#box');
var styles = box.style;

// 修改样式
styles.backgroundColor = 'red';

Nachdem Sie seinen Stil über JavaScript geändert haben, wird der Stil des Elements rot.

2. Verwenden Sie classList, um den Stil zu ändern. Die beiden oben vorgestellten Methoden eignen sich zum Ändern des Stils mehrerer Elemente auf der Webseite zu mühsam. An diesem Punkt können wir das classList-Attribut verwenden, um den Stil dynamisch zu ändern.

Klassen hinzufügen und löschen
  1. Das classList-Attribut enthält viele praktische Methoden, mit denen wir Klassen einfach hinzufügen und löschen können. Mit Klassen können wir eine Reihe von Stilen für ein Element definieren und diese dynamisch über JavaScript hinzufügen oder entfernen.

Beispielcode:

<div class="box">我是一段文本</div>

In JavaScript können Sie über die Methoden add() und remove() von classList Klassen zu Elementen hinzufügen oder daraus entfernen:

var box = document.querySelector('.box');
box.classList.add('red');
box.classList.remove('box');

Nachdem der Stil des Elements über JavaScript geändert wurde, wird der Stil des Elements rot und Die Boxklasse des Elements wird gelöscht.

Klasse wechseln
  1. Zusätzlich zu den Methoden add() und remove() verfügt classList auch über eine praktische Methode namens toggle(). Die Methode toggle() kann die Klasse des Elements wechseln. Wenn die Klasse bereits im Element vorhanden ist, löscht die Methode die Klasse, andernfalls fügt sie die Klasse hinzu.

Beispielcode:

<div class="box">我是一段文本</div>

In JavaScript können Sie die Klasse eines Elements über die toggle()-Methode von classList wechseln:

var box = document.querySelector('.box');
box.classList.toggle('red');
box.classList.toggle('green');

Nachdem Sie seinen Stil über JavaScript geändert haben, ändert sich der Stil des Elements von Rot zu Grün.

3. Ändern Sie das Stylesheet direkt

Die obige Methode kann den Stil eines einzelnen Elements oder mehrerer Elemente steuern. Wenn Sie das Stylesheet jedoch direkt ändern müssen, müssen Sie eine andere Methode verwenden.

In JavaScript wird ein Stylesheet als Objekt dargestellt, und wir können die darin enthaltenen Stile über JavaScript-Code dynamisch ändern, um eine dynamische Änderung des Stylesheets zu erreichen.

Beispielcode:



<div class="box">我是一段文本</div>

In JavaScript können Sie seinen Stil dynamisch ändern, indem Sie das dem Stylesheet entsprechende Objekt abrufen:

var styleSheet = document.styleSheets[0];
var rules = styleSheet.cssRules || styleSheet.rules;

for (var i = 0; i < rules.length; i++) {
    var rule = rules[i];
    if (rule.selectorText === '.box') {
        rule.style.backgroundColor = 'red';
    }
}

Nachdem Sie seinen Stil über JavaScript geändert haben, wird der Stil des Elements rot.

4. Zusammenfassung

In diesem Artikel werden drei Methoden zum dynamischen Ändern von CSS-Stilen vorgestellt, darunter die Verwendung des Stilattributs des Elements, die Verwendung des Stilelements des Elements und die Verwendung von classList. Um der Notwendigkeit einer direkten Änderung des Stylesheets gerecht zu werden, haben wir außerdem die Methode der direkten Änderung des Stylesheets eingeführt. Mit diesen Methoden können wir die Funktion der dynamischen Änderung von CSS-Stilen in JavaScript einfach implementieren.

Das obige ist der detaillierte Inhalt vonjs ändert CSS dynamisch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn