Rumah >hujung hadapan web >tutorial css >Bagaimanakah Saya Boleh Menyerlahkan Item Menu Aktif Secara Dinamik Berdasarkan URL?

Bagaimanakah Saya Boleh Menyerlahkan Item Menu Aktif Secara Dinamik Berdasarkan URL?

Patricia Arquette
Patricia Arquetteasal
2024-12-15 05:32:09377semak imbas

How Can I Dynamically Highlight Active Menu Items Based on the URL?

Menyerlahkan Item Menu Aktif Secara Dinamik Berdasarkan URL Halaman

Salah satu tugas biasa semasa membangunkan tapak web ialah menyerlahkan item menu yang sedang aktif berdasarkan URL halaman yang sedang dilihat. Ini meningkatkan navigasi pengguna dan memberikan petunjuk visual untuk lokasi semasa pengguna dalam hierarki tapak web.

Pelaksanaan Penyelesaian

JavaScript biasanya digunakan untuk melaksanakan gelagat ini secara dinamik. Walau bagaimanapun, perangkap biasa berlaku apabila menggunakan pendekatan dipacu peristiwa (cth., mengklik pada item menu), yang tidak menggambarkan proses pemuatan halaman dengan tepat.

Untuk menambah kelas "aktif" dengan berkesan pada item menu yang sesuai apabila memuatkan halaman, pertimbangkan pendekatan berikut:

$(function(){
    var current = location.pathname;
    $('#nav li a').each(function(){
        var $this = $(this);
        // if the current path is like this link, make it active
        if($this.attr('href').indexOf(current) !== -1){
            $this.addClass('active');
        }
    })
})

Penjelasan

Dalam ini coretan kod:

  • $(function(){...}) memastikan kod tersebut dilaksanakan sebaik halaman dimuatkan sepenuhnya.
  • var current = location.pathname; mendapatkan semula URL semasa laluan.
  • $('#nav li a').setiap(fungsi(){...}) berulang melalui semua item menu (tag anchor) dalam elemen #nav.
  • var $this = $(this); menyimpan item menu semasa yang diproses.
  • if($this.attr('href').indexOf(current) !== -1){...} menyemak sama ada laluan URL semasa mengandungi href atribut item menu, menunjukkan bahawa ia adalah halaman aktif.
  • $this.addClass('active'); menambahkan kelas "aktif" pada item menu yang sesuai.

Pendekatan ini menyerlahkan item menu aktif dengan tepat semasa halaman dimuatkan, memastikan pengalaman navigasi yang konsisten dan mesra pengguna.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyerlahkan Item Menu Aktif Secara Dinamik Berdasarkan URL?. 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