پرسش
چجوری اسکرول نرم و روان رو هنگام کلیک روی لینکهای انکر (Anchor) پیادهسازی کنم؟
smooth-scrolling-when-clicking-an-anchor-link
من چندتا لینک انکر تو صفحه دارم که وقتی کاربر روشون کلیک میکنه، صفحه باید بهسمت انکر موردنظر اسکرول بشه. اما میخوام این اسکرول نرم و روان باشه. آیا راهی برای انجام این کار هست که با جاوااسکریپت یا jQuery انجام بشه؟
1403/06/06
پاسخ
محمدامین سعیدی راد
برای اسکرول نرم به لینکهای انکر، دو راه اصلی داری: استفاده از CSS یا جاوااسکریپت. اگر مرورگرهای مدرن رو هدف قرار دادی، میتونی بهسادگی با اضافه کردن کد زیر به CSS این کار رو انجام بدی:
html { scroll-behavior: smooth; }
ولی اگه میخوای مرورگرهای قدیمیتر رو هم پشتیبانی کنی، باید از جاوااسکریپت استفاده کنی:
document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function(e) { e.preventDefault(); document.querySelector(this.getAttribute('href')).scrollIntoView({ behavior: 'smooth' }); }); });
این روشها بهت کمک میکنن تا تجربه کاربری بهتری رو ایجاد کنی.
پاسخ: 1403/06/06
آخرین آپدیت: 1403/08/13