پرسش
چجوری اسکرول نرم و روان رو هنگام کلیک روی لینکهای انکر (Anchor) پیادهسازی کنم؟
smooth-scrolling-when-clicking-an-anchor-link
من چندتا لینک انکر تو صفحه دارم که وقتی کاربر روشون کلیک میکنه، صفحه باید بهسمت انکر موردنظر اسکرول بشه. اما میخوام این اسکرول نرم و روان باشه. آیا راهی برای انجام این کار هست که با جاوااسکریپت یا jQuery انجام بشه؟
1403/06/06
پاسخ
محمدامین سعیدی راد
توسعه دهنده استک MERN
برای اسکرول نرم به لینکهای انکر، دو راه اصلی داری: استفاده از 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