Я не могу переключить свое альтернативное фоновое изображение, когда нажимаю кнопку переключателя «кнопка». Я ввел свой соответствующий код в CodePen, и он смог правильно переключаться; однако, когда я копирую его в свой текстовый редактор (как показано в приведенном ниже коде, он не может даже добраться до оператора оповещения, вложенного в эту строку: "$ ('input [type =" checkbox "]'). click (function () {".
Я следовал "https://www.w3schools.com/howto/howto_css_switch.asp" для создания переключателя, однако неясно, почему они вложили ввод в тег метки или почему они включают тег span. Любая помощь или объяснение будут с благодарностью.
HTML (часть моего кода):
<label class="switch">
<input type="checkbox">
<span class="slider round"></span>
</label>
CSS (часть моего кода):
body {
background-image: url(background.png);
...
}
/* the box around the slider */
.switch {
position: absolute;
display: inline-block;
width: 60px;
height: 34px;
top: 37px;
left: 40px;
}
/* hide default HTML checkbox */
.switch input {
opacity: 0;
width: 0;
height: 0;
}
JAVASCRIPT (весь мой код):
$('input[type="checkbox"]').click(function(){
alert("got here");
if($(this).is(":checked")){
$('body').css("background-image", "url(background-dark.png)");
}
else if($(this).is(":not(:checked)")){
$('body').css("background-image", "url(background1.png)");
}
});
Я ожидал, что фоновое изображение изменится на 'background-dark.png' каждый раз, когда я нажимаю на тумблер; однако, кажется, ничего не происходит, когда я нажимаю на тумблер.