


Bagaimanakah Saya Boleh Mengubah Gaya Pengepala Secara Dinamik Menggunakan Acara Tatal jQuery?
Nov 28, 2024 pm 08:21 PMMengubah Suai Gaya Pengepala Secara Dinamik dengan Acara Tatal jQuery
Definisi Masalah
Matlamatnya adalah untuk melaksanakan ciri di mana elemen pengepala menukar gayanya berdasarkan kedudukan skrol menegak pengguna. Kami ingin mengalih keluar satu kelas dan menambah satu lagi untuk mengubah penampilan pengepala apabila pengguna menatal ke bawah melepasi titik tertentu.
Pelaksanaan jQuery
Kod yang disediakan cuba menggunakan fungsi .scroll() jQuery untuk mencetuskan peristiwa apabila tetingkap ditatal. Walau bagaimanapun, terdapat beberapa ralat dalam pelaksanaan.
Kod Salah
$(window).scroll(function() { var scroll = $(window).scrollTop(); if (scroll <= 500) { $(".clearheader").removeClass("clearHeader").addClass("darkHeader"); } }
Ralat Dibetulkan
- Percanggahan Nama Kelas: "clearheader " harus dibetulkan kepada "clearHeader" (huruf besar "H" dalam kelas nama).
- Pengendali Salah: Pengendali perbandingan hendaklah ">=" (lebih besar daripada atau sama dengan) bukannya "<=" (kurang daripada atau sama dengan).
- Kurungan Penutup Hilang: Kurungan penutup tiada pada penghujung fungsi.
Kod Dibetulkan
$(window).scroll(function() { var scroll = $(window).scrollTop(); if (scroll >= 500) { $(".clearHeader").removeClass("clearHeader").addClass("darkHeader"); } });
Pendekatan Alternatif
Daripada mengalih keluar dan menambah kelas, adalah disyorkan untuk mencipta kelas CSS baharu yang mengatasi penggayaan kelas yang sedia ada. Kaedah ini membolehkan kawalan yang lebih baik ke atas penampilan pengepala.
Menetapkan Semula Gaya pada Tatal Ke Atas
Untuk menetapkan semula gaya pengepala apabila pengguna menatal ke atas, tambah syarat berikut pada kod:
if (scroll >= 500) { $(".clearHeader").removeClass('clearHeader').addClass("darkHeader"); } else { $(".clearHeader").removeClass("darkHeader").addClass('clearHeader'); }
Pengoptimuman
Caching objek jQuery untuk elemen pengepala menyediakan lebih baik prestasi:
$(function() { var header = $(".header"); $(window).scroll(function() { if (scroll >= 500) { header.removeClass('clearHeader').addClass("darkHeader"); } else { header.removeClass("darkHeader").addClass('clearHeader'); } }); });
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Gaya Pengepala Secara Dinamik Menggunakan Acara Tatal jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Menambah bayang -bayang kotak ke blok dan elemen WordPress

Buat borang hubungan JavaScript dengan rangka kerja pintar

Buat editor teks sebaris dengan atribut yang boleh dipertikaikan

Membandingkan 5 Pembina Borang PHP Terbaik (dan 3 skrip percuma)

Menjadikan Peralihan Svelte Khas pertama anda

Pembaca Skrin Demystifying: Borang & Amalan Terbaik Diakses

Muat naik fail dengan multer di node.js dan ekspres
