Heim > Web-Frontend > CSS-Tutorial > Wie erstelle ich ein benutzerdefiniertes Ereignis, um CSS-Attributänderungen zu verfolgen?

Wie erstelle ich ein benutzerdefiniertes Ereignis, um CSS-Attributänderungen zu verfolgen?

Susan Sarandon
Freigeben: 2024-11-03 07:27:30
Original
620 Leute haben es durchsucht

How to Create a Custom Event to Track CSS Attribute Changes?

Benutzerdefiniertes Ereignis zum Verfolgen von CSS-Attributänderungen

Problem: Wie können Sie ein Ereignis auslösen, wenn ein Div oder ein anderes CSS-Attributänderungen?

Diskussion: Obwohl es kein integriertes CSS-Änderungsereignis gibt, können Sie Ihr eigenes erstellen. Es gibt zwei Methoden:

Methode 1: DOM-Abfrage

<code class="javascript">var $element = $("#elementId");
var lastHeight = $("#elementId").css('height');

function checkForChanges() {
  if ($element.css('height') != lastHeight) {
    // CSS height changed
    lastHeight = $element.css('height');
  }
  setTimeout(checkForChanges, 500);
}
checkForChanges();</code>
Nach dem Login kopieren

Methode 2: Manueller Ereignisauslöser

<code class="javascript">$('#mainContent').bind('heightChange', function() {
  // CSS height changed
});

$("#btnSample1").click(function() {
  $("#mainContent").css('height', '400px');
  $("#mainContent").trigger('heightChange');
});</code>
Nach dem Login kopieren

Vorteile:

  • Methode 1 ist automatisch und überwacht das DOM ständig auf Änderungen.
  • Methode 2 ist kontrollierter und löst das Ereignis nur aus, wenn Sie Änderungen vornehmen das CSS.

Dokumentation:

  • bind: Fügt einen Event-Handler an das angegebene Element an.
  • trigger: Führt ein Ereignis aus Handler, die an ein Element angehängt sind.

Das obige ist der detaillierte Inhalt vonWie erstelle ich ein benutzerdefiniertes Ereignis, um CSS-Attributänderungen zu verfolgen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage