- 【HTML】
-
<div class="Toggle"></div>
- 【CSS】
-
.Toggle {
position: relative;
width: 3rem;
height: 1rem;
border-radius: 0.5rem;
border: 1px solid black;
}
.Toggle::before {
content: "";
position: absolute;
left: 1px;
width: 1rem;
height: 1rem;
background-color: #6699FF;
border-radius: 50%;
}
.Toggle.On::before {
left: auto;
right: 1px;
}
- 【Javascript】
-
(function () {
var toggle = new Event('ChangeToggle', {bubbles: true});
(function (click) {
document.addEventListener('click', click, false);
})(function (event) {
var target = event.target;
if (!target.classList.contains('Toggle')) { return; }
target.classList.toggle('On');
target.dispatchEvent(toggle);
});
})();
- 【使い方】
(function (toggle) {
document.addEventListener('ChangeToggle', toggle, false);
})(function (event) {
var target = event.target;
console.log(target.classList.contains('On'));
});