Слайдер на чистом js
Хочу понять, как можно преобразовать код данного слайдера, чтобы открывался и начал работать в модальном окошке. Конечно есть Lightbox либо fancyBox, но суть не в этом. Хочется понять и разобраться, как это можно сделать именно на чистом js, на примере данного кода. И если например, допустим, будут две или три ссылки на открытие слайдера, где в каждой будет свой набор картинок, под каждую ссылку нужно будет повторять данный код или это будет не грамотным решением? Как такую задачу реализовать грамотно?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS</title>
<style>
#slider{
width: 400px;
}
#slider img{
width: 100%;
height: 300px;
}
#buttons{
text-align: center;
}
</style>
<script src="script.js"></script>
</head>
<body>
<div id="slider">
<img src="">
<div id="buttons">
<input id="btnPrev" type="button" value="<-">
<input id="btnNext" type="button" value="->">
</div>
</div>
</body>
</html>
window.onload = function(){
var images = ['Chrysanthemum.jpg', 'Desert.jpg', 'Jellyfish.jpg', 'Penguins.jpg', 'Tulips.jpg'];
var i = 0;
var img = document.querySelector('#slider img');
img.src = 'img/' + images[i];
document.querySelector('#btnPrev').onclick = function(){
(i > 1) ? i-- : (i = images.length - 1);
img.src = 'img/' + images[i];
}
document.querySelector('#btnNext').onclick = function(){
(i < images.length - 1) ? i++ : i = 0;
img.src = 'img/' + images[i];
}
}
|
dupre,
для начала уберите все id, замените на классы потом, сделайте ваше "модальное окно". |
рони,
приветствую, рад слышать. А чем плохи id, вразуми пожалуйста. |
Цитата:
|
dupre,
хотя можно менять только массивы картинок |
рони,
понятно. А будет ли этот код работать кроссбраузерно? Вообще, как понять кроссбраузерный код или нет? Простой проверкой работы кода в разных браузерах достаточно для понимания? Или есть какие-то более продвинутые вещи для этого? |
рони,
"хотя можно менять только массивы картинок", это мне не понятно к сожалению. Можно показать? |
Цитата:
Цитата:
|
рони,
задумка такая: три ссылки на открытие слайдера и в каждой свой набор картинок, и в каждом наборе своё количество картинок. В одной ссылке 3 картинки, во второй ссылке 5 картинок, в третьей 6 картинок. |
По поводу кроссбраузерности не то чтобы сомнения, а просто для понимания. Не знаю, как понять: кроссбраузерный какой-либо код или нет.
|
Цитата:
|
рони,
добрый день. Долго конечно, но всё же так ли? https://plnkr.co/edit/a4h30eg84VjxWG0kLSjt?p=preview |
dupre,
работает? устраивает? ошибок нет? ... значит так. |
ок
|
| Часовой пояс GMT +3, время: 08:39. |