Navigasi Terasa Kaku? Ini Cara Pasang Floating Navigation Dots Bar di Elementor!

📌 Apa itu Floating Navigation Dots Bar?

Floating Navigation Dots Bar adalah modul navigasi titik-titik (dots) mengambang yang menempel di sisi samping layar. Titik yang sedang aktif akan otomatis membesar dan berubah warna secara realtime mengikuti posisi scroll pengguna (scroll spy), serta memungkinkan pengunjung melompat ke section tertentu hanya dengan satu klik.

📖
Skenario Masalah Nyata

Pada halaman undangan panjang yang memuat banyak rundown dan profil narasumber, pengunjung sering kali malas menggulir layar ke atas-bawah untuk mencari lokasi atau form pendaftaran. Fitur Floating Dots memberikan akses instan ke seluruh bagian penting website tanpa memakan ruang visual layar.

✨ Keunggulan Fitur Floating Dots

  • Smart Scroll Spy Engine: Deteksi otomatis section mana yang sedang dilihat di viewport.
  • Smooth Anchor Scroll: Perpindahan antar-bagian halaman berlangsung dengan animasi gulir yang mulus.
  • Desain Minimalis Mewah: Efek glow bronze emas yang menyatu dengan tema gelap modern.
  • 100% Ringan: Ditulis menggunakan Vanilla JS murni tanpa library pihak ketiga.

🎯 Standar Penamaan CSS ID Target

Target Titik CSS ID yang Wajib Dipasang Keterangan Bagian
Titik 1 hero Kontainer Banner Utama / Cover Acara
Titik 2 about Kontainer Tentang / Sambutan Acara
Titik 3 rundown Kontainer Jadwal / Susunan Sesi Kegiatan
Titik 4 lokasi Kontainer Peta & Alamat Tempat Acara
Titik 5 rsvp Kontainer Formulir Pendaftaran / RSVP

💻 Kode Sumber Lengkap (HTML + CSS + JS)

Salin seluruh blok kode di bawah ini, lalu tempelkan ke dalam widget HTML di bagian paling bawah halaman Elementor Anda:

<!-- LUXEE FLOATING NAV DOTS -->
<div id="luxee-nav-dots" class="luxee-dots-container">
  <a href="#hero" class="luxee-dot active" data-tooltip="Sampul"><span></span></a>
  <a href="#about" class="luxee-dot" data-tooltip="Tentang Acara"><span></span></a>
  <a href="#rundown" class="luxee-dot" data-tooltip="Rundown"><span></span></a>
  <a href="#lokasi" class="luxee-dot" data-tooltip="Lokasi"><span></span></a>
  <a href="#rsvp" class="luxee-dot" data-tooltip="RSVP / Daftar"><span></span></a>
</div>

<style>
.luxee-dots-container {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.luxee-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  border: 1.5px solid rgba(194, 155, 100, 0.6);
  display: block;
  transition: all 0.3s ease;
  position: relative;
}
.luxee-dot:hover, .luxee-dot.active {
  background: #C29B64;
  transform: scale(1.35);
  box-shadow: 0 0 10px rgba(194, 155, 100, 0.8);
}
@media (max-width: 600px) {
  .luxee-dots-container {
    right: 10px;
    gap: 8px;
  }
}
</style>

<script>
document.addEventListener('DOMContentLoaded', function() {
  const dots = document.querySelectorAll('.luxee-dot');
  const sections = Array.from(dots).map(dot => {
    const id = dot.getAttribute('href');
    return document.querySelector(id);
  });

  window.addEventListener('scroll', function() {
    let scrollPos = window.scrollY + 200;
    sections.forEach((sec, idx) => {
      if (sec) {
        let top = sec.offsetTop;
        let height = sec.offsetHeight;
        if (scrollPos >= top && scrollPos < top + height) {
          dots.forEach(d => d.classList.remove('active'));
          dots[idx].classList.add('active');
        }
      }
    });
  });
});
</script>
💡
Pro Tips Penempatan Widget

Selalu letakkan widget HTML ini di dalam kontainer terpisah pada bagian paling dasar halaman (footer), lalu beri nama label "Code - Floating Dots" di panel Navigator agar mempermudah pemeliharaan di kemudian hari.

💡 Pertanyaan Sering Ditanya (FAQ)

Pastikan kontainer section target sudah memiliki CSS ID yang persis sama dengan tautan pada titik (misal: hero, about, rundown). Perhatikan huruf besar/kecil karena CSS ID bersifat case-sensitive.

Bisa. Pada blok <style> di atas, ganti properti right: 20px; menjadi left: 20px;.

Cukup hapus atau gandakan baris <a href="#id-section" class="luxee-dot"><span></span></a> sesuai jumlah section yang ingin Anda tampilkan.

*Terakhir diperbarui: 24-Agustus-2026*