پیش‌نمایش زنده (iframe sandbox) تمام‌صفحه
در حال بارگذاری پیش‌نمایش زنده...
<label class="radikalwp-chk-switch"><input type="checkbox" checked><span class="radikalwp-chk-switch-track"><span class="radikalwp-chk-switch-knob"><//span><//span><span class="radikalwp-chk-switch-text" data-on="فعال" data-off="غیرفعال">فعال<//span><//label>
.radikalwp-chk-switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.radikalwp-chk-switch input { position: absolute; opacity: 0; }
.radikalwp-chk-switch-track {
  display: block;
  width: 40px;
  height: 22px;
  padding: 2px;
  background: #cbd5e1;
  border-radius: 999px;
  transition: background .25s ease;
}
.radikalwp-chk-switch-knob {
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .3);
  transition: transform .25s cubic-bezier(.34, 1.56, .64, 1);
}
.radikalwp-chk-switch input:checked + .radikalwp-chk-switch-track { background: #10b981; }
.radikalwp-chk-switch input:checked + .radikalwp-chk-switch-track .radikalwp-chk-switch-knob {
  transform: translateX(-18px);
}
.radikalwp-chk-switch-text { font-size: 12.5px; font-weight: 700; color: #94a3b8; }
.radikalwp-chk-switch input:checked ~ .radikalwp-chk-switch-text { color: #059669; }
// به‌روزرسانی متن وضعیت کنار سوییچ (فعال/غیرفعال)
document.querySelectorAll('.radikalwp-chk-switch').forEach(function (label) {
  var input = label.querySelector('input');
  var text = label.querySelector('.radikalwp-chk-switch-text');
  var sync = function () { text.textContent = input.checked ? text.dataset.on : text.dataset.off; };
  input.addEventListener('change', sync);
});

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

چک‌باکسی که رفتار سوییچ دارد: مسیر خطی کوچک با تیک لغزان و متن وضعیت «فعال/غیرفعال» کنار آن. برای ردیف‌های لیست اعلان‌ها و تنظیمات ساده‌ای که لیبل متنی مهم است ساخته شده است. رنگ سبز متن و مسیر در حالت فعال، وضعیت را دو جا اعلام می‌کند. کلیک روی کل برچسب هم کار می‌کند.

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

متن در data-on و data-off تعریف شده و JS با رویداد change جابه‌جایش می‌کند؛ کلمات دلخواه مثل «عمومی/خصوصی» را همان‌جا بگذارید.

سوییچ و رنگ متن با CSS خالص کار می‌کنند؛ فقط جابه‌جایی کلمه فعال/غیرفعال به JS نیاز دارد و حذفش هم مشکلی ایجاد نمی‌کند.

خیر؛ انیمیشن‌ها فقط transform و background هستند و در لیست‌های بلند هم جمع هزینه رندر ناچیز است.

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

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

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

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

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

کپچا

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

شاید بپسندی

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

چک‌باکس با خط خوردن متن

چک‌باکس خط خوردن TODO
۳۷
۴.۰ (۶)
پیش‌نمایش زنده اسنیپت

چک‌باکس روشنایی برق‌دار

چک‌باکس نور چراغ
۱۰۰
۴.۲ (۱۶)
پیش‌نمایش زنده اسنیپت

چک‌باکس گرد با تیک متحرک

چک‌باکس تیک متحرک
۸۰
۴.۵ (۱۲)