Простой switch — переключатель
Была у меня задача сделать некий переключатель, чтобы при нажатии на switcher добавлялся бы еще один блок. Что-то я долго его делал, и так как он понадобится еще не раз в моей практике, решил его оставить здесь, чтобы потом долго не мучатся.
Css
<style>
/* The switch - the box around the slider */
.switch {
position: relative;
display: inline-block;
width: 58px;
height: 25px;
top: 19px;
left: 10px;
}
.switch .title {
position: relative;
top: -16px;
}
/* Hide default HTML checkbox */
.switch input {
opacity: 0;
width: 0;
height: 0;
}
/* The slider */
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}
.slider:before {
position: absolute;
content: "";
height: 17px;
width: 17px;
left: 7px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .slider {
background-color: #2971f6;
}
input:focus + .slider {
box-shadow: 0 0 1px #2971f6;
}
input:checked + .slider:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(26px);
}
/* Rounded sliders */
.slider.round {
border-radius: 34px;
}
.slider.round:before {
border-radius: 50%;
}
</style>
HTML
<!-- Rounded switch -->
<label class="switch">
<span class="title">Сравнить</span>
<input id="checked" type="checkbox">
<span class="slider round"></span>
</label>
<!-- Скрытый элемент -->
<div class="card-body filter" style="display: none;" id="newpost">...</div>
JQuery
При клике, переключается сам переключатель и появляется новый блок.
{{-- Переключатель swicher --}}
<script>
$(document).ready(function () {
$('.slider').click(function () {
$('#newpost').toggle();
$('#checked').checked(true);
return false;
});
});
</script>
Предыдущая




