Точно! Как это я не подумал... Хорошо, вот мой код. Он рабочий - в т.ч. я учёл Ваше замечание. Но думаю, что его можно сделать короче и красивее. Помогите, пожалуйста!
<body>
<input type="radio" checked name="radio" id="radio1">
<input type="radio" name="radio" id="radio2">
<input type="radio" name="radio" id="radio3">
<div class="page bg1">
<div class="radio-controls">
<label for="radio1"></label>
<label for="radio2"></label>
<label for="radio3"></label>
</div>
</div>
<script>
[js]var page = document.getElementsByClassName("page");
var label = document.getElementsByTagName("label");
label[0].addEventListener('click', function() {
page[0].classList.remove("bg2");
page[0].classList.remove("bg3");
page[0].classList.add("bg1");
});
label[1].addEventListener('click', function() {
page[0].classList.remove("bg3");
page[0].classList.add("bg2");
});
label[2].addEventListener('click', function() {
page[0].classList.remove("bg2");
page[0].classList.add("bg3");
});[/js]
</script>
</body>
body {
background-color: white;
font-family: "Open Sans", sans-serif;
padding: 5px 25px;
font-size: 18px;
margin: 0;
color: #444;
}
h1 {
font-family: "Merriweather", serif;
font-size: 32px;
}
input {
display: none;
}
.page {
position: relative;
width: 400px;
height: 250px;
outline: 1px solid orange;
}
.bg1 {
background-image: url("Gora-400x250.jpg");
}
.bg2 {
background-image: url("IMG_0863m.jpg");
}
.bg3 {
background-image: url("Torosskie-goryi-400x250.jpg");
}
.radio-controls {
position: absolute;
bottom: 0;
left: 50%;
margin-left: -55px;
width: 110px;
height: 50px;
text-align: center;
line-height: 65px;
outline: 1px solid red;
}
label {
display: inline-block;
width: 20px;
height: 20px;
background-color: dodgerblue;
background-clip: padding-box;
border: 5px solid transparent;
border-radius: 50%;
box-shadow: 0 0 2px 1px dodgerblue;
}
#radio1:checked ~ .page label[for="radio1"],
#radio2:checked ~ .page label[for="radio2"],
#radio3:checked ~ .page label[for="radio3"] {
background-color: red;
box-shadow: 0 0 2px 1px red;
}