tutorial pengembangan web terbaru
 

Bootstrap JS Scrollspy


JS Scrollspy (scrollspy.js)

The Scrollspy plugin digunakan untuk secara otomatis memperbarui link dalam daftar menu berdasarkan posisi gulir.

Untuk tutorial tentang Scrollspy, baca Bootstrap Scrollspy Tutorial .

Tip: The Scrollspy Plugin ini sering digunakan bersama-sama dengan Afiks Plugin.


Via data-* Atribut

Tambahkan data-spy="scroll" untuk unsur yang harus digunakan sebagai daerah digulir (sering ini adalah <body> unsur).

Kemudian tambahkan data-target atribut dengan nilai id atau nama kelas dari bar navigasi ( .navbar ). Hal ini untuk memastikan bahwa navbar terhubung dengan daerah digulir.

Perhatikan bahwa elemen digulir harus sesuai dengan ID dari link di dalam daftar navbar ini semuanya ( <div id="section1"> cocok <a href="#section1"> ).

Opsional data-offset atribut menentukan jumlah pixel untuk mengimbangi dari atas ketika menghitung posisi gulir. Hal ini berguna ketika Anda merasa bahwa link dalam navbar perubahan keadaan aktif terlalu cepat atau terlalu dini ketika melompat ke elemen digulir. Default adalah 10 piksel.

Membutuhkan posisi relatif: Elemen dengan data-spy="scroll" membutuhkan CSS position properti, dengan nilai "relative" untuk bekerja dengan baik.

Contoh

<!-- The scrollable area -->
<body data-spy="scroll" data-target=".navbar" data-offset="50">

<!-- The navbar - The <a> elements are used to jump to a section in the scrollable area -->
<nav class="navbar navbar-inverse navbar-fixed-top">
...
  <ul class="nav navbar-nav">
    <li><a href="#section1">Section 1</a></li>
    ...
</nav>

<!-- Section 1 -->
<div id="section1">
  <h1>Section 1</h1>
  <p>Try to scroll this page and look at the navigation bar while scrolling!</p>
</div>
...

</body>
Cobalah sendiri "

via JavaScript

Aktifkan manual dengan:

Contoh

$('body').scrollspy({target: ".navbar"})
Cobalah sendiri "

Scrollspy Pilihan

Pilihan bisa dilalui melalui atribut data atau JavaScript. Untuk atribut data, tambahkan nama pilihan untuk data-, seperti data-offset = "".

Nama Mengetik kegagalan Deskripsi Cobalah
offsetnumber10 Menentukan jumlah piksel untuk mengimbangi dari atas ketika menghitung posisi gulir Cobalah

Metode Scrollspy

Tabel berikut mencantumkan semua metode scrollspy tersedia.

metode Deskripsi Cobalah
.scrollspy("refresh") Ketika menambahkan dan menghapus elemen dari scrollspy, metode ini dapat digunakan untuk me-refresh dokumen Cobalah

Acara Scrollspy

Tabel berikut berisi peristiwa scrollspy semua tersedia.

Peristiwa Deskripsi Cobalah
activate.bs.scrollspy Terjadi ketika item baru menjadi aktif oleh scrollspy yang Cobalah

contoh

contoh

Scrollspy dengan scroll animasi

Cara menambahkan halaman gulir halus untuk jangkar pada halaman yang sama:

bergulir mulus

// Add scrollspy to <body>
$('body').scrollspy({target: ".navbar", offset: 50});

// Add smooth scrolling to all links inside a navbar
$("#myNavbar a").on('click', function(event){

  // Prevent default anchor click behavior
  event.preventDefault();

  // Store hash (#)
  var hash = this.hash;

  // Using jQuery's animate() method to add smooth page scroll
  // The optional number (800) specifies the number of milliseconds it takes to scroll to the specified area (the speed of the animation)
  $('html, body').animate({
    scrollTop: $(hash).offset().top
  }, 800, function(){

    // Add hash (#) to URL when done scrolling (default click behavior)
    window.location.hash = hash;
  });
});
Cobalah sendiri "

Scrollspy & Afiks

Menggunakan Afiks Plugin bersama-sama dengan plugin Scrollspy:

Horizontal Menu (Navbar)

<body data-spy="scroll" data-target=".navbar" data-offset="50">

<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
...
</nav>

</body>
Cobalah sendiri "

Menu Vertikal (Sidenav)

<body data-spy="scroll" data-target="#myScrollspy" data-offset="15">

<nav class="col-sm-3" id="myScrollspy">
  <ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="205">
  ...
</nav>

</body>
Cobalah sendiri "