我有一些JQuery和javascrip用较小的缩略图的src更改大图像的src属性。根据上传的图像,有不同数量的缩略图。
下面的代码在单击缩略图时起作用,但为每个缩略图创建onclick事件,我必须遍历列表中的每张照片并写出“$('#thumb_n')。click(function) ()...“对于每个缩略图。
请问有更简单的方法吗?
<script>
$(document).ready(function(){
$('#thumb_1').click(function(){
changeImgSrc($('#detailImage'), "/images/photos/1/small/draughtDesign_01.jpg");
});
$('#thumb_4').click(function(){
changeImgSrc($('#detailImage'), "/images/photos/1/small/draughtDesign_02.jpg");
});
$('#thumb_5').click(function(){
changeImgSrc($('#detailImage'), "/images/photos/1/small/draughtDesign_03.jpg");
});
});
function changeImgSrc(targetImg, sourceMSallImgURL){
var thbSource = sourceMSallImgURL;
var lrgSource = thbSource.replace('/small/', '/large/');
targetImg.attr("src", lrgSource);
}
</script>
<div class="galleryPhotos">
<span class="galleryPic shadow"><img src="/images/photos/1/large/draughtDesign_01.jpg" id="detailImage" width="515" height="380" alt="photo description 1" /></span>
<ul>
<li><a href="javascript: return false;" title="photo description 1"><img src="/images/photos/1/small/draughtDesign_01.jpg" width="160" height="115" id="thumb_1" alt="photo description 1" /></a></li>
<li><a href="javascript: return false;" title="photo description 2"><img src="/images/photos/1/small/draughtDesign_02.jpg" width="160" height="115" id="thumb_4" alt="photo description 2" /></a></li>
<li><a href="javascript: return false;" title="photo description 3"><img src="/images/photos/1/small/draughtDesign_03.jpg" width="160" height="115" id="thumb_5" alt="photo description 3" /></a></li>
</ul>
</div>
答案 0 :(得分:1)
使用此:
$('.galleryPhotos ul li a img').click(function(){
changeImgSrc($('#detailImage'), $(this).attr("src"));
});
或者为thumbImages
标记中的所有图片添加一个类(例如<li>
),然后
$('.thumbImages').click(function(){
changeImgSrc($('#detailImage'), $(this).attr("src"));
});
答案 1 :(得分:0)
将类“thum_Img”添加到每个缩略图图像标记中。
<img src="/images/photos/1/small/draughtDesign_01.jpg" width="160" height="115" id="thumb_1" alt="photo description 1" class="thum_Img"/>
并执行以下操作......
$('.thumb_Img').click(function(){
changeImgSrc($('#detailImage'), $(this).attr("src"));
});