شرح صفوف ومحتوى الفقرة
كثيراً ما تضيف التطبيقات التفاعلية فصولاً محمّلة كسولاً أو تحذف أقساماً من شجرة العناصر بعد تحميل الصفحة. متى أضفت أو حذفت قسماً ديناميكياً داخل منطقة الرصد، استدعِ الدالة bootstrap.ScrollSpy.getOrCreateInstance(scrollEl).refresh() ليعيد مراقب التقاطع فهرسة الأهداف الجديدة فوراً.
كما يمكنك الاستماع للحدث activate.bs.scrollspy على حاوية التمرير — حيث تشير الخاصية event.relatedTarget إلى الرابط الذي تنشط للتو — لتحديث شريط تقدم القراءة أو عنوان القسم الحالي.
| السمة أو الدالة أو الحدث | موضع التطبيق | الوظيفة في Bootstrap 5.3 |
|---|---|---|
data-bs-spy="scroll" | حاوية التمرير أو <body> | تشغيل محرك رصد التقاطع لتتبع الأقسام |
data-bs-target="#navId" | حاوية التمرير | ربط الحاوية بشريط .nav أو .navbar أو .list-group |
tabindex="0" | حاويات التمرير الفرعية | تمكين التركيز والتمرير عبر لوحة المفاتيح |
data-bs-smooth-scroll="true" | حاوية التمرير | تفعيل الانتقال الانسيابي عند النقر على الروابط |
data-bs-root-margin | حاوية التمرير | ضبط حدود منطقة التفعيل مثل 0px 0px -40% |
instance.refresh() | كائن bootstrap.ScrollSpy | إعادة فهرسة الأقسام بعد تعديل عناصر DOM برمجياً |
activate.bs.scrollspy | حاوية التمرير | حدث ينطلق كلما انتقلت حالة النشاط لرابط جديد |
<button id="addSecBtn" class="btn btn-sm btn-primary">
Append Section & Refresh Spy
</button>
<span id="spyStatus" class="ms-2 small text-muted">
Active: #s1
</span>
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس توظيف محرك Scrollspy الحديث في بوتستراب 5.3 مع أشرطة التنقل والفهارس المتداخلة ومجموعات القوائم، وضبط التمرير السلس وهامش الرصد، وتحديث المراقب برمجياً مع الأحداث الحية. الخطوة التالية: انتقل الآن إلى الوحدة التاسعة بدءاً بدرس «أوضاع الألوان والوضع الداكن في بوتستراب 5.3» لبناء واجهات تدعم الوضعين الفاتح والداكن والثيمات المخصصة باحترافية.