mirror of
https://github.com/sergeyyarkov/js-slider.git
synced 2026-10-11 10:19:33 +03:00
final
This commit is contained in:
commit
31b27e0649
37
style.css
Normal file
37
style.css
Normal file
@ -0,0 +1,37 @@
|
||||
.container {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
section {
|
||||
margin-bottom: 15px;
|
||||
padding-bottom: 15px;
|
||||
border-bottom: 1px dashed #444;
|
||||
}
|
||||
|
||||
.block {
|
||||
width: 75px;
|
||||
height: 75px;
|
||||
margin: 25px;
|
||||
border: 2px solid #333;
|
||||
}
|
||||
|
||||
.active {
|
||||
background: orange;
|
||||
}
|
||||
|
||||
.hide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.img-12-min {
|
||||
width: 64px;
|
||||
}
|
||||
|
||||
.img-12-max {
|
||||
width: 128px; border: 3px solid #fff;
|
||||
|
||||
}
|
||||
|
||||
.active-img {
|
||||
border: 3px solid black;
|
||||
}
|
||||
42
unit_21.html
Normal file
42
unit_21.html
Normal file
@ -0,0 +1,42 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<link rel="stylesheet" href="https://unpkg.com/mustard-ui@latest/dist/css/mustard-ui.min.css">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<title>Unit 20</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
<section>
|
||||
<div class="wrap-12">
|
||||
<img src="img/1.png" data-text="Картинка 1" alt="#" class="img-12-min active-img">
|
||||
<img src="img/2.png" data-text="Картинка 2" alt="#" class="img-12-min">
|
||||
<img src="img/3.png" data-text="Картинка 3" alt="#" class="img-12-min">
|
||||
<img src="img/4.png" data-text="Картинка 4" alt="#" class="img-12-min">
|
||||
<img src="img/5.png" data-text="Картинка 5" alt="#" class="img-12-min">
|
||||
<img src="img/6.png" data-text="Картинка 6" alt="#" class="img-12-min">
|
||||
</div>
|
||||
<div class="div-12-max">
|
||||
<img src="img/1.png" alt="#" class="img-12-max">
|
||||
</div>
|
||||
<p class="img-12-text">Картинка 1</p>
|
||||
<button class="button-primary prev">Prev</button>
|
||||
<button class="button-primary next">Next</button>
|
||||
<button class="button-primary reset">Reset</button>
|
||||
<div class="out-11">
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script src="unit_21.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
81
unit_21.js
Normal file
81
unit_21.js
Normal file
@ -0,0 +1,81 @@
|
||||
function imgSlider() {
|
||||
const a = ['1.png', '2.png', '3.png', '4.png', '5.png', '6.png'],
|
||||
images = document.querySelectorAll('.img-12-min'),
|
||||
dataText = [];
|
||||
let currImg = '0';
|
||||
|
||||
|
||||
function pushDataText() {
|
||||
images.forEach(img => {
|
||||
let textAttr = img.getAttribute('data-text');
|
||||
dataText.push(textAttr);
|
||||
});
|
||||
}
|
||||
pushDataText();
|
||||
|
||||
function showMax() {
|
||||
images.forEach((img, i) => {
|
||||
img.addEventListener('click', () => {
|
||||
images.forEach(img => img.classList.remove('active-img'));
|
||||
|
||||
img.classList.add('active-img');
|
||||
currImg = i;
|
||||
|
||||
// вывод активной картинки
|
||||
document.querySelector('.div-12-max').innerHTML = `<img src="img/${a[i]}" alt="#" class="img-12-max">`;
|
||||
// вывод текста активной картинки
|
||||
document.querySelector('.img-12-text').innerHTML = dataText[i];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function slidePrev() {
|
||||
currImg = parseInt(currImg);
|
||||
|
||||
if (currImg <= a.length && currImg >= 1) {
|
||||
currImg--;
|
||||
images.forEach(img => img.classList.remove('active-img'));
|
||||
images[currImg].classList.add('active-img');
|
||||
|
||||
// вывод активной картинки
|
||||
document.querySelector('.div-12-max').innerHTML = `<img src="img/${a[currImg]}" alt="#" class="img-12-max">`;
|
||||
// вывод текста активной картинки
|
||||
document.querySelector('.img-12-text').innerHTML = dataText[currImg];
|
||||
}
|
||||
}
|
||||
|
||||
function slideNext() {
|
||||
currImg = parseInt(currImg);
|
||||
if (currImg <= a.length - 2) {
|
||||
currImg++;
|
||||
images.forEach(img => img.classList.remove('active-img'));
|
||||
images[currImg].classList.add('active-img');
|
||||
|
||||
// вывод активной картинки
|
||||
document.querySelector('.div-12-max').innerHTML = `<img src="img/${a[currImg]}" alt="#" class="img-12-max">`;
|
||||
// вывод текста активной картинки
|
||||
document.querySelector('.img-12-text').innerHTML = dataText[currImg];
|
||||
}
|
||||
}
|
||||
|
||||
function resetSlider() {
|
||||
currImg = parseInt(currImg);
|
||||
|
||||
currImg = 0;
|
||||
images.forEach(img => img.classList.remove('active-img'));
|
||||
images[currImg].classList.add('active-img');
|
||||
|
||||
// вывод активной картинки
|
||||
document.querySelector('.div-12-max').innerHTML = `<img src="img/${a[currImg]}" alt="#" class="img-12-max">`;
|
||||
// вывод текста активной картинки
|
||||
document.querySelector('.img-12-text').innerHTML = dataText[currImg];
|
||||
}
|
||||
|
||||
showMax();
|
||||
document.querySelector('.prev').onclick = slidePrev;
|
||||
document.querySelector('.next').onclick = slideNext;
|
||||
document.querySelector('.reset').onclick = resetSlider;
|
||||
}
|
||||
imgSlider();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user