ایونت scroll
اجازه میدهد به یک صفحه یا المنت واکنش نشان دهید. چندین کار جالب وجود دارد که میتوانیم انجام دهیم.
برای مثال:
- نمایش دادن یا پنهان کردن کنترل های اضافی یا اطلاعات، با توجه به این که کاربر کجای داکیومنت است.
- بارگذاری کردن بیشتر داده، هنگامی که کاربر درحال اسکرول به سمت انتهای پیج است.
اینجا یک تابع کوچک برای نمایش دادن اسکرول فعلی میباشد:
window.addEventListener('scroll', function() {
document.getElementById('showScroll').innerHTML = window.pageYOffset + 'px';
});
در عمل:
اسکرول فعلی = اسکرول window
ایونت scroll
در window
و المنتهای قابل اسکرول کار میکند.
جلوگیری از اسکرول کردن
چطور میتوانیم چیزی را غیر قابل اسکرول کنیم؟
ما نمیتوانیم اسکرول کردن را توسط ()event.preventDefault
در onscroll
listener جلوگیری کنیم چون پس از اسکرولی که قبلا اتفاق افتاده است رخ میدهد.
اما میتوانیم توسط ()event.preventDefault
از ایونتی که باعث اسکرول میشود جلوگیری کنیم. برای مثال: ایونت keydown
برای pageUp و pageDown
اگر ما یک ایونت هندلر به این ایونتها و درون آن ()event.preventDefault
اضافه کنیم، اسکرول شروع نخواهد شد.
راه های زیادی برای شروع کردن یک اسکرول وجود دارد پس استفاده از ویژگی CSS overflow
خیلی قابل اطمینانتر است.
اینجا چند تمرین وجود دارد که شما میتوانید آنها را حل کنید یا نگاهی به اپلیکیشن های onscroll
بیندازید.
نظرات
<code>
استفاده کنید، برای چندین خط – کد را درون تگ<pre>
قرار دهید، برای بیش از ده خط کد – از یک جعبهٔ شنی استفاده کنید. (plnkr، jsbin، codepen…)