اگه تا حالا برای یه اسلایدر ساده مجبور شدی یه کتابخانه سنگین و وابسته به jQuery رو بکشی تو صفحه، Splide دقیقاً برای همین دردسر ساخته شده. @splidejs/splide رو Naotoshi Fujita نوشته و مجوزش MIT هست، یعنی هم تو پروژه شخصی و هم تو کار مشتری می تونی ازش استفاده کنی. معرفی خود پروژه هم همینه: اسلایدر سبک، انعطاف پذیر و در دسترس، بدون وابستگی به کتابخانه دیگه.
کار اصلی Splide نمایش یه مجموعه اسلاید تو یه کادره. مثلاً بنر بالای صفحه اصلی، ردیف محصولات پرفروش فروشگاه، گالری نمونه کار یا بخش نظرات مشتری ها. حالت اسلاید معمولی، چرخشی (loop) و محو شدن (fade) رو داره. می تونی تعداد اسلاید هر صفحه رو مشخص کنی و با breakpoints برای موبایل و دسکتاپ تنظیم جدا بدی. پخش خودکار، جهت عمودی و بارگذاری تنبل تصاویر هم جزو امکاناتشه. حالت راست به چپ هم داره، پس برای سایت فارسی لازم نیست سراغ ترفندهای CSS بری.
یه نکته که تو سایت های ایرانی کمتر بهش توجه می شه، دسترسی پذیریه. Splide از کنترل با کیبورد و ویژگی های ARIA پشتیبانی می کنه، پس کاربرهایی که با ماوس یا لمس کار نمی کنن هم می تونن اسلایدت رو بخونن و جابه جا کنن. برای کارهای خاص تر افزونه های جانبی رسمی هم داره، مثلاً برای اسکرول خودکار پیوسته یا چیدمان شبکه ای. برای React و Vue و Svelte هم بسته های جدا وجود داره.
پس کجا به درد می خوره؟ اگه یه کتابخانه سبک و تمیز می خوای که کنترلش دست خودت باشه، انتخاب خوبیه. ولی اگه فقط یه ردیف کارت افقی ساده می خوای که با انگشت کشیده بشه، شاید CSS scroll-snap به تنهایی کافی باشه و اصلاً به کتابخانه احتیاج نداشته باشی. اگه دنبال یه افزونه وردپرس با رابط گرافیکی هستی هم Splide اون نیست. یه کتابخانه ست و باید با HTML و جاوااسکریپت ازش استفاده کنی.
موقع استفاده چند چیز رو یادت باشه. تصاویر اسلایدر رو قبل از آپلود بهینه کن، چون سبک بودن کتابخانه جلوی کند شدن صفحه با عکس های درشت رو نمی گیره. تعداد اسلایدها رو هم زیاد نکن. تو روزهای محدودیت اینترنت بین الملل ممکنه CDN خارجی بالا نیاد، پس بهتره فایل ها رو روی هاست خودت نگه داری. نسخه های رسمی و بدون تغییر این کتابخانه تو مخزن داخلی ما هم در دسترسه و می تونی از همین جا برداری.
راهنمای استفاده
برای اضافه کردن Splide به یه صفحه، همین قدم های کلی کافیه:
- فایل های جاوااسکریپت و CSS کتابخانه رو از همین صفحه بگیر و روی هاست خودت بذار. اگه ترجیح می دی، کد آماده پایین همین صفحه رو مستقیم تو قالب یا صفحه ات استفاده کن.
- فایل CSS رو تو بخش head لود کن و فایل جاوااسکریپت رو درست قبل از بسته شدن body.
- ساختار HTML رو بساز: یه div با کلاس splide، داخلش یه div با کلاس splide__track، بعدش یه ul با کلاس splide__list، و هر اسلاید یه li با کلاس splide__slide.
- یه اسکریپت کوچیک بنویس که Splide رو روی همون المان بسازه و mount کنه.
- گزینه هایی مثل type، perPage، gap، autoplay و breakpoints رو بر اساس نیازت تنظیم کن. اگه سایتت فارسیه، جهت rtl رو هم فعال کن.
تو وردپرس هم مسیر همینه. فایل ها رو با wp_enqueue_style و wp_enqueue_script از functions.php قالب یا یه افزونه کوچیک خودت لود کن. بعدش ساختار HTML رو تو ویجت HTML صفحه ساز یا تو خود قالب بذار. آخرش هم حتماً روی موبایل و با متن فارسی تستش کن، چون مشکل جهت حرکت و فاصله ها همون جا زودتر خودش رو نشون می ده.