Rumah >hujung hadapan web >tutorial css >Bagaimana untuk Mengesan Perubahan CSS, Terutamanya Perubahan Ketinggian, Menggunakan jQuery?

Bagaimana untuk Mengesan Perubahan CSS, Terutamanya Perubahan Ketinggian, Menggunakan jQuery?

Barbara Streisand
Barbara Streisandasal
2024-11-03 11:20:02374semak imbas

How to Detect CSS Changes, Particularly Height Changes, Using jQuery?

Cara Mengesan Perubahan CSS menggunakan JQuery

JQuery tidak mempunyai acara terbina dalam untuk mengesan perubahan dalam atribut CSS. Walau bagaimanapun, anda boleh mencipta sendiri menggunakan pendekatan berikut:

Pemantauan DOM Berterusan (Cara Pertama):

Tinjau DOM secara berkala (mis., setiap 500 milisaat) ke bandingkan nilai atribut CSS semasa dengan nilai sebelumnya. Jika mereka berbeza, cetuskan acara.

Contoh:

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

function checkForChanges() {
    if ($element.css('height') != lastHeight) {
        alert('xxx');
        lastHeight = $element.css('height');
    }
    setTimeout(checkForChanges, 500);
}

checkForChanges();</code>

Pencetusan Peristiwa Manual (Cara Kedua):

Ikat pengendali acara tersuai pada elemen sasaran, kemudian cetuskan acara ini secara manual apabila anda menukar CSS elemen.

Contoh:

<code class="javascript">$('#mainContent').bind('heightChange', function(){
    alert('xxx');
});

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

Menentukan Perubahan Ketinggian Secara Khusus (Penyelesaian untuk Masalah Awal):

Dalam kes khusus mengesan perubahan ketinggian untuk div #mainContent, gunakan pendekatan kedua dengan kod berikut:

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

Ingat untuk mengikat pengendali acara sebelum membuat sebarang perubahan ketinggian pada div #mainContent.

Atas ialah kandungan terperinci Bagaimana untuk Mengesan Perubahan CSS, Terutamanya Perubahan Ketinggian, Menggunakan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn