أحدث البرامج التعليمية وتطوير الشبكة
 

Bootstrap شبيبة Scrollspy


شبيبة Scrollspy (scrollspy.js)

يتم استخدام البرنامج المساعد Scrollspy لتحديث الروابط في قائمة الملاحة القائمة على موقف التمرير تلقائيا.

لتعليمي حول Scrollspy، اقرأ التمهيد Scrollspy التعليمي .

نصيحة: وغالبا ما يستخدم المساعد Scrollspy جنبا إلى جنب مع يضعوا المساعد.


عبر data-* سمات

إضافة data-spy="scroll" إلى العنصر الذي يجب أن تستخدم المنطقة للتمرير (غالبا هذا هو <body> عنصر).

قم بإضافة data-target السمة بقيمة هوية أو اسم الفئة من شريط التنقل ( .navbar ). هذا هو التأكد من أن navbar يرتبط مع منطقة للتمرير.

لاحظ أن عناصر تمرير يجب أن تتطابق معرف الروابط داخل عناصر القائمة على navbar و( <div id="section1"> مباريات <a href="#section1"> ).

اختياري data-offset تحدد السمة عدد البكسل لتعويض من أعلى عند احتساب موقف التمرير. وهذا مفيد عندما تشعر أن الروابط داخل نافبار تتغير حالة نشطة قريبا جدا أو في وقت مبكر جدا عندما قفز إلى عناصر قابلة للتمرير. الافتراضي هو 10 بكسل.

يتطلب تحديد المواقع النسبية: العنصر مع data-spy="scroll" يتطلب CSS position الممتلكات، بقيمة "relative" للعمل بشكل صحيح.

مثال

<!-- 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>
انها محاولة لنفسك »

عن طريق جافا سكريبت

تمكين يدويا مع:

مثال

$('body').scrollspy({target: ".navbar"})
انها محاولة لنفسك »

خيارات Scrollspy

يمكن أن تنتقل عن طريق الخيارات سمات البيانات أو جافا سكريبت. لسمات البيانات، إلحاق اسم الخيار لبالبيانات، كما في بيانات تعويض = "".

اسم اكتب افتراضي وصف جربها
offsetnumber10 يحدد عدد من بكسل للتعويض من أعلى عند احتساب موقف التمرير جربها

طرق Scrollspy

يسرد الجدول التالي جميع طرق scrollspy المتاحة.

طريقة وصف جربها
.scrollspy("refresh") عند إضافة وإزالة عناصر من scrollspy، وهذه الطريقة يمكن أن تستخدم لتحديث وثيقة جربها

أحداث Scrollspy

يسرد الجدول التالي الأحداث scrollspy كل ما هو متاح.

حدث وصف جربها
activate.bs.scrollspy يحدث عندما يصبح عنصر جديد تفعيلها من خلال scrollspy جربها

أمثلة

أمثلة

Scrollspy مع التمرير المتحركة

كيفية إضافة التمرير السلس إلى الصفحة مرتكزا على نفس الصفحة:

التمرير السلس

// 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;
  });
});
انها محاولة لنفسك »

Scrollspy ويضعوا

باستخدام يضعوا المساعد جنبا إلى جنب مع المساعد Scrollspy:

القائمة الأفقية (نافبار)

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

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

</body>
انها محاولة لنفسك »

القائمة العمودية (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>
انها محاولة لنفسك »