У меня есть 4 эскиза слева, и когда я нажимаю на один из них, я хочу показать большое изображение справа на экране.Показать увеличенное изображение из миниатюр в javascript
Моя проблема в том, что по какой-то причине она показывает 8 маленьких миниатюр (сначала 4, а затем 4 раза). Первые четыре не могут быть изменены. Последние четыре являются кликабельными и правильно показывают большее изображение.
Итак, откуда берутся первые четыре миниатюры, и как я могу избавиться от них?
У меня есть прозрачное изображение (Picture.gif), которое является более крупным изображением, которое изменяется и показывает большие версии миниатюр.
Мой HTML:
<body onLoad="init()">
<table class="planes">
<tr>
<td>
<ul>
<div id="thumb">
<li><img src="img/Plane1.jpg" alt="Plane1"></li>
<li><img src="img/Plane2.jpg" alt="Plane2"></li>
<li><img src="img/Plane3.jpg" alt="Plane3"></li>
<li><img src="img/Plane4.jpg" alt="Plane4"></li>
</div>
</ul>
</td>
<td>
<img class="pic" id="main" src="img/Picture.gif" alt="">
</td>
</tr>
</table>
Мой JavaScript:
var images= new Array('img/Plane1.jpg', 'img/Plane2.jpg', 'img/Plane3.jpg', 'img/Plane4.jpg');
var imgList = new Array();
function init()
{
for (var i=0; i<images.length; i++)
{
imgList[i] = new Image();
imgList[i].src = images[i];
document.getElementById('thumb').appendChild(imgList[i]);
imgList[i].addEventListener("click", swap, false)
}
}
function swap(evtObj)
{
var imgfile = evtObj.target.getAttribute('src');
var mainTag = document.getElementById('main');
mainTag.src = imgfile;
}
Благодарим Вас за ваша помощь! Это именно то, что проблема была – user2939293
Еще один вопрос: как я могу выровнять четыре миниатюры друг под другом, когда у меня нет списка? (У меня был css, который помещал изображения друг под друга по вертикали). – user2939293
Вы можете удалить 'div' с id' thumb' и поместить этот идентификатор на элемент 'ul'.Затем создайте элемент 'li', используя' document.createElement ('li') 'и добавьте изображение к нему, а затем добавьте' li' в элемент 'ul'. – Matt