我在左邊有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 2014-10-02 17:21:16
還有一個問題:現在當我沒有列表時,如何將這四個縮略圖對齊? (我有CSS把圖像垂直放在彼此之下)。 – user2939293 2014-10-02 17:42:10
你可以用'thumb'刪除'div',並把這個id放在'ul'元素上。然後,使用'document.createElement('li')'創建一個'li'元素並將圖像追加到它,然後將'li'追加到'ul'元素。 – Matt 2014-10-03 07:43:11