En son web geliştirme öğreticiler
 

Bootstrap JS Scrollspy


JS Scrollspy (scrollspy.js)

Scrollspy eklentisi otomatik kaydırma konumuna dayalı bir gezinme listesinde bağlantıları güncelleştirmek için kullanılır.

Scrollspy hakkında bir eğitim için bizim okumak Önyükleme Scrollspy Eğitimi .

İpucu: Scrollspy eklentisi genellikle ile birlikte kullanılır Ekler eklentisi.


Via data-* Özellikler

Ekle data-spy="scroll" kaydırılabilir alanı olarak kullanılması gereken elemana (often this is the <body> element) .

Sonra eklemek data-target kimliği değerine veya navigasyon çubuğunun sınıf adıyla niteliğini ( .navbar ) . Bu emin olmaktır navbar kaydırılabilir alana bağlıdır.

Kaydırılabilir elemanlar navbar en liste öğelerinin iç bağlantıların kimliğini eşleşmesi gerektiğini unutmayın ( <div id="section1"> matches <a href="#section1"> ) .

İsteğe bağlı data-offset özelliği kaydırma konumu hesaplanırken üstten dengelemek için piksel sayısını belirtir. Eğer kaydırılabilir elemanlar atlarken gezinme çubuğu içindeki bağlantıları çok erken çok erken aktif durumunu değiştirir ya da hissettiklerinde yararlıdır. Standart 10 pikseldir.

Görece konumlandırılmasını gerektirir: ile elemanının data-spy="scroll" CSS gerektiren position değeriyle, özelliği "relative" doğru çalışması.

Örnek

<!-- 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>
Kendin dene "

JavaScript aracılığıyla

el ile etkinleştirme:

Örnek

$('body').scrollspy({target: ".navbar"})
Kendin dene "

Scrollspy Seçenekler

Seçenekler Veri özellikleri veya JavaScript aracılığıyla geçirilebilir. veri özelliklerini için, olduğu gibi, veriye seçeneği adını ekler = "" data-ofset.

isim tip Varsayılan Açıklama Dene
offsetnumber10 kaydırma konumu hesaplanırken üstten dengelemek için piksel sayısını belirtir Dene

Scrollspy Yöntemleri

Aşağıdaki tabloda tüm mevcut scrollspy yöntemleri.

Yöntem Açıklama Dene
. scrollspy("refresh") ekleme ve scrollspy elemanları çıkarırken, bu yöntem, bir belge yenilemek için kullanılabilmektedir Dene

Scrollspy Olaylar

Aşağıdaki tabloda mevcut tüm scrollspy olayları listeler.

Olay Açıklama Dene
activate.bs.scrollspy Yeni bir öğe scrollspy tarafından aktif hale meydana Dene

Örnekler

Örnekler

animasyonlu kaydırma ile Scrollspy

Nasıl aynı sayfada çapa yumuşak bir sayfa kaydırma eklemek için:

Kesintisiz kaydırma

// 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;
  });
});
Kendin dene "

Scrollspy & Ekler

Kullanılması yapıştırmayın Scrollspy eklenti ile birlikte eklentisi:

Yatay Menü (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>
Kendin dene "

Dikey Menü (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>
Kendin dene "