يمكنك مراقبة سكرول المستخدم في الاتجاه السفلي فقط من خلال الاستماع إلى حدث التمرير scroll ثم التحقق مما إذا كان المستخدم يقوم بالتمرير نحو الأسفل. فيما يلي مثال يوضح كيف يمكنك القيام بذلك:
window.addEventListener('scroll', function() {
// احصل على موقع التمرير الحالي
var scrollPosition = window.scrollY || document.documentElement.scrollTop;
// احصل على ارتفاع الصفحة الكلي
var documentHeight = document.documentElement.scrollHeight;
// احصل على ارتفاع نافذة العرض
var viewportHeight = window.innerHeight;
// احسب المدى الأعلى المسموح به للتمرير
var maxScrollPosition = documentHeight - viewportHeight;
// تحقق مما إذا كان المستخدم يقوم بالتمرير نحو الأسفل
if (scrollPosition > 0) {
console.log('التمرير نحو الأسفل');
}
});
يتم الاستماع إلى حدث التمرير scroll على مستوى النافذة، ثم يتم الحصول على موقع التمرير الحالي scrollPosition وارتفاع الصفحة الكلي documentHeight وارتفاع نافذة العرض viewportHeight، يتم بعد ذلك التحقق مما إذا كان المستخدم يقوم بالتمرير نحو الأسفل عن طريق التحقق مما إذا كان موقع التمرير الحالي أكبر من الصفر، إذا كان كذلك، فسيتم تسجيل رسالة "التمرير نحو الأسفل" .
يمكنك مراقبة حدث ال scroll نحو الأسفل عن طريق حفظ آخر قيمة لل window.scrollY ومقارنتها كما يلي
window.addEventListener('scroll', function(e) {
// Check if user scrolled down
if(window.scrollY > lastScrollTop){
// Your code here
}
// Update scroll position
lastScrollTop = window.scrollY;
});
في هذا المثال:
نقارن الموضع الحالي window.scrollY مع القيمة السابقة lastScrollTop
إذا كان window.scrollY أكبر فهذا يعني أن المستخدم قام بالسكرول نحو الأسفل
نقوم بتحديث lastScrollTop للاحتفاظ بآخر قيمة للمقارنة في المرات القادمة
مجتمع لمناقشة وتبادل الخبرات حول تطوير الويب. ناقش أحدث التقنيات، اللغات، والأدوات في عالم تطوير المواقع والتطبيقات. شارك مشاريعك، اسأل عن نصائح، وتعاون مع مطورين محترفين وهواة.