将功能添加到可变数量的链接onclick事件

时间:2013-02-27 12:07:40

标签: jquery html image frontend

我有一些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>

2 个答案:

答案 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"));
    });