Heim > Web-Frontend > js-Tutorial > Hauptteil

JavaScript implementiert dynamisch erstellte CSS-Stilregeln scheme_javascript-Fähigkeiten

WBOY
Freigeben: 2016-05-16 16:36:56
Original
1497 Leute haben es durchsucht

Es gibt mittlerweile viele JavaScript-Codes in Webanwendungen und wir sind immer auf der Suche nach verschiedenen Lösungen, um sie schneller zu machen.

1. Wir nutzen die Ereignisdelegation, um die Ereignisüberwachung effizienter zu gestalten,
2. Wir verwenden die Technologie zur Funktionsentprellung , um die Anzahl der Aufrufe einer bestimmten Methode innerhalb eines Zeitraums zu begrenzen. Weitere Informationen finden Sie unter: So verhindern Sie das Hochfrequenzauslösen von Ereignisfunktionen (chinesische Übersetzung). )
3. Wir verwenden den JavaScript Loader, um die Ressourcen zu laden, die wir wirklich benötigen usw.

Es gibt eine andere Möglichkeit, unsere Seiten schneller und effizienter zu machen: Bestimmte Stile im Stylesheet direkt über JS hinzuzufügen und zu löschen, anstatt ständig DOM-Elemente abzufragen und verschiedene Stile anzuwenden. So funktioniert es.

Stylesheet abrufen

Sie können ein beliebiges Stylesheet auswählen, um Stilregeln hinzuzufügen. Wenn Sie über ein bestimmtes Stylesheet verfügen, können Sie das ID-Attribut zum -Tag in der HTML-Seite hinzufügen und dann das CSSStyleSheet-Objekt direkt über das Sheet-Attribut des DOM-Elements abrufen. Stylesheets können auch über document.styleSheets durchlaufen werden:

Code kopieren Der Code lautet wie folgt:

// Eine Array-ähnliche Stilliste StyleSheetList
zurückgeben var sheet = document.styleSheets;

/*
Der Rückgabewert ähnelt dem folgenden:

StyleSheetList
{
0: CSSStyleSheet,
1: CSSStyleSheet,
2: CSSStyleSheet,
3: CSSStyleSheet,
4: CSSStyleSheet,
Länge: 5,
Artikel: Funktion
}
*/

// Holen Sie sich das erste Blatt, unabhängig vom Medienattribut
var sheet = document.styleSheets[0];

Besonderes Augenmerk muss auf das Medienattribut des Stylesheets gelegt werden – wenn Sie es auf dem Bildschirm anzeigen möchten, können Sie dem Druck-Stylesheet sicherlich keine CSS-Regeln hinzufügen. Sie können sich die Eigenschaftsinformationen des CSSStyleSheet-Objekts genauer ansehen:

Code kopieren Der Code lautet wie folgt:

//Die Konsole gibt die Informationen des ersten Stylesheets aus
console.log(document.styleSheets[0]);

/*
Rückgabewert:

CSSStyleSheet
cssRules: CSSRuleList[Object]
Deaktiviert: falsch
href: „http://davidwalsh.name/somesheet.css
Medien: MediaList[object]
ownerNode: link[object]
Eigentümerregel: null
parentStyleSheet: null
Regeln: CSSRuleList[Object]
Titel: null
Geben Sie ein: „text/css“
*/

//Medientyp abrufen
console.log(document.styleSheets[0].media.mediaText)
/*
Der Rückgabewert kann sein:
„all“ oder „print“ oder andere Medien
werden auf dieses Stylesheet angewendet */

In jedem Fall haben Sie auf jeden Fall eine Möglichkeit, das Stylesheet zu erhalten, zu dem Sie die Regeln hinzufügen möchten.

Erstellen Sie ein neues Stylesheet

In vielen Fällen besteht der beste Ansatz möglicherweise darin, ein neues