У меня есть несколько галерей изображений, охватывающих различные категории, в приведенном ниже коде я включил только 2 (природа и город), чтобы их было легче читать.Я использую цикл «for» с «let» перед событием onclick, чтобы можно было щелкнуть любой узел в коллекции HTML, и я получу индекс.Затем я применяю этот индекс к массиву идентичных изображений, за исключением того, что они являются HD, а не миниатюрами.
Div'ы rightArrow и leftArrow используются для перехода к следующему или предыдущему изображению в массиве путем увеличения или уменьшения индекса на единицу, что довольно стандартно.Проблема в том, что при выходе из полноэкранного режима изменения индекса не сбрасываются.Поэтому, когда пользователь нажимает на другое изображение из той же галереи, чтобы повторно открыть полноэкранный режим, он не получает соответствующее изображение.
Итак, как мне сбросить индекс перед тем, как вызвать событие onclick для "natureThumbnailImgs" и"urbanThumbnailImgs"?Или включить в событие exitFullscreen что-то, что сбрасывает индекс?
Любая помощь очень ценится,
Стив
var fullscreen = document.getElementsByClassName("fullscreen");
var fullImg = document.getElementById("fullImg");
var exitFullscreen = document.getElementById("exitFullscreen");
var rightArrow = document.getElementById("rightArrow");
var leftArrow = document.getElementById("leftArrow");
exitFullscreen.onclick = function() {
fullscreen[0].removeAttribute("id", "showFullscreen");
}
var natureThumbnailImgs = document.getElementsByClassName("natureThumbnailImgs");
var natureHDImgs = ["1 nature HD.jpg", "2 nature HD.jpg", "3 nature HD.jpg"];
// NATURE GALLERY ALBUM
for (let albumIndex = 0; albumIndex < natureThumbnailImgs.length; albumIndex++) {
natureThumbnailImgs[albumIndex].onclick = function() {
//DISPLAY FULLSCREEN
fullscreen[0].setAttribute("id", "showFullscreen");
//APPLY CHOSEN IMAGE
fullImg.src = "../../../Image Bank/" + natureHDImgs[albumIndex];
//NEXT
rightArrow.onclick = function() {
if (albumIndex < (natureThumbnailImgs.length - 1)) {
albumIndex++;
//APPLY CHOSEN IMAGE
fullImg.src = "../../../Image Bank/" + natureHDImgs[albumIndex];
}
}
//PREV
leftArrow.onclick = function() {
if (albumIndex > 0) {
albumIndex--;
//APPLY CHOSEN IMAGE
fullImg.src = "../../../Image Bank/" + natureHDImgs[albumIndex];
}
}
}
}
var urbanThumbnailImgs = document.getElementsByClassName("urbanThumbnailImgs");
var urbanHDImgs = ["1 urban HD.jpg", "2 urban HD.jpg", "3 urban HD.jpg"];
// URBAN GALLERY ALBUM
for (let albumIndex = 0; albumIndex < urbanThumbnailImgs.length; albumIndex++) {
urbanThumbnailImgs[albumIndex].onclick = function() {
//DISPLAY FULLSCREEN
fullscreen[0].setAttribute("id", "showFullscreen");
//APPLY CHOSEN IMAGE
fullImg.src = "../../../Image Bank/" + urbanHDImgs[albumIndex];
//NEXT
rightArrow.onclick = function() {
if (albumIndex < (urbanThumbnailImgs.length - 1)) {
albumIndex++;
//APPLY CHOSEN IMAGE
fullImg.src = "../../../Image Bank/" + urbanHDImgs[albumIndex];
}
}
//PREV
leftArrow.onclick = function() {
if (albumIndex > 0) {
albumIndex--;
//APPLY CHOSEN IMAGE
fullImg.src = "../../../Image Bank/" + urbanHDImgs[albumIndex];
}
}
}
}
[class$="ThumbnailImgs"] {
width: 100px;
height: auto;
}
#fullscreen {
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 1;
}
#fullscreen {
position: absolute;
top: 50px;
right: 50px;
}
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Image Gallery</title>
<link href="css/IG.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- NATURE ALBUM -->
<div id="natureAlbum">
<img class="natureThumbnailImgs" src="../../../Image Bank/1 nature thumbnail.jpeg"/>
<img class="natureThumbnailImgs" src="../../../Image Bank/2 nature thumbnail.jpeg"/>
<img class="natureThumbnailImgs" src="../../../Image Bank/3 nature thumbnail.jpeg"/>
</div>
<!-- URBAN ALBUM -->
<div id="urbanAlbum">
<img class="urbanThumbnailImgs" src="../../../Image Bank/1 urban thumbnail.jpeg"/>
<img class="urbanThumbnailImgs" src="../../../Image Bank/2 urban thumbnail.jpeg"/>
<img class="urbanThumbnailImgs" src="../../../Image Bank/3 urban thumbnail.jpeg"/>
</div>
<!-- FULL IMG DISPLAY -->
<div id="fullscreen">
<div id="exitFullscreen">X</div>
<img id="fullImg" src=""/>
<div id="leftArrow">Left Arrow Symbol</div>
<div id="rightArrow">Right Arrow Symbol</div>
</div>
</body>
</html>