Toggle Button

radio custom style

by oktaviardi pratama

HTML

<div class="center">
    <br />
    <div class="toggle-button">
        <span></span>
    </div>
    <br />
    <div class="toggle-button">
        <span></span>
    </div>
    <br />
    <div class="toggle-button toggle-button-selected">
        <span></span>
    </div>
</div>

SCSS

.toggle-button {
	margin: 5px 0;
	border-radius: 20px;
	border: 2px solid #D0D0D0;
	height: 24px;
	cursor: pointer;
	width: 50px;
	position: relative;
	display: inline-block;
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	-moz-user-select: none;
}

.toggle-button span {
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 100%;
	width: 26px;
	height: 26px;
	background-color: white;
	float: left;
	margin: -3px 0 0 -3px;
	border: 2px solid #D0D0D0;
	transition: left 0.3s;
}

.toggle-button-selected {
	background-color: #83B152;
	border: 2px solid #7DA652;
}

.toggle-button-selected span {
	left: 26px;
	top: 0;
	margin: 0;
	border: none;
	width: 24px;
	height: 24px;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
}

.center {
	text-align: center;
}

JavaScript

$(document).on('click', '.toggle-button', function() {
    $(this).toggleClass('toggle-button-selected'); 
});