پیشنمایش زنده (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 هستند و در لیستهای بلند هم جمع هزینه رندر ناچیز است.
امتیاز شما به این محتوا
میانگین امتیاز کاربران: ۴.۴ از ۳ رأی — برای امتیازدهی وارد شوید
دیدگاهها (۰)
هنوز دیدگاهی ثبت نشده؛ اولین نفر باشید!