پیش‌نمایش زنده (iframe sandbox) تمام‌صفحه
در حال بارگذاری پیش‌نمایش زنده...
<button class="radikalwp-btn-loading" data-demo-loading>ثبت سفارش<//button>
.radikalwp-btn-loading {
  position: relative;
  padding: 13px 40px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  background: #4f46e5;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: color .2s ease, background .2s ease;
}
.radikalwp-btn-loading.is-loading {
  color: transparent;
  background: #6366f1;
  pointer-events: none;
}
.radikalwp-btn-loading.is-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 18px;
  margin: -9px 0 0 -9px;
  border: 2.5px solid rgba(255, 255, 255, .35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: radikalwp-btn-loading-spin .7s linear infinite;
}
@keyframes radikalwp-btn-loading-spin {
  to { transform: rotate(360deg); }
}
// دموی افکت: با هر کلیک، اسپینر ۲ ثانیه می‌چرخد و دکمه به حالت عادی برمی‌گردد
document.querySelectorAll('[data-demo-loading]').forEach(function (btn) {
  btn.addEventListener('click', function () {
    if (btn.classList.contains('is-loading')) return;
    btn.classList.add('is-loading');
    setTimeout(function () { btn.classList.remove('is-loading'); }, 2000);
  });
});

درباره این اسنیپت

دکمه‌ای که با افزودن کلاس is-loading، متن خود را محو می‌کند و یک اسپینر کوچک وسط آن می‌چرخد؛ رفتار استاندارد دکمه‌های ارسال فرم. بدون هیچ کتابخانه‌ای، فقط با تغییر یک کلاس توسط چند خط جاوااسکریپت نمونه فعال و غیرفعال می‌شود. برای فرم لاگین، ثبت سفارش و هر اقدامی که پاسخ سرور زمان می‌برد ایده‌آل است.

پرسش‌های متداول

در رویداد submit فرم، قبل از ارسال درخواست fetch/ajax، کلاس is-loading را اضافه و بعد از دریافت پاسخ حذف کنید؛ کد نمونه فقط برای نمایش رفتار است.

ویژگی pointer-events: none در حالت لودینگ، کلیک‌های تکراری را بی‌اثر می‌کند و از ارسال دوباره فرم جلوگیری می‌کند.

مقادیر width و height و margin در ::after را هم‌زمان تغییر دهید؛ ضخامت حلقه هم با border کنترل می‌شود.

امتیاز شما به این محتوا

میانگین امتیاز کاربران: ۴.۹ از ۳ رأی — برای امتیازدهی وارد شوید

دیدگاه‌ها (۰)

هنوز دیدگاهی ثبت نشده؛ اولین نفر باشید!

دیدگاه خود را بنویسید

کپچا

دیدگاه شما پس از تأیید مدیر نمایش داده می‌شود.

شاید بپسندی

پیش‌نمایش زنده اسنیپت

دکمه بارگذاری نقطه‌ای

دکمه لودینگ نقطه
۲۲
۴.۹ (۳)
پیش‌نمایش زنده اسنیپت

دکمه جاروی روشنی

افکت دکمه درخشش
۱۰۰
۴.۷ (۱۶)
پیش‌نمایش زنده اسنیپت

دکمه حلقه چرخان دور

دکمه گرادیان چرخان
۱۰۰
۴.۲ (۱۶)