1

我在画廊中有一张大图像,当在下面的无序列表中单击其中一个缩略图时,该图像需要更改。图像是动态进入的,因此 jquery 脚本需要能够获取缩略图的 src,从文件名中删除“-thumb”,然后用新的源替换大图像。

请让我知道我对这样的画廊的最佳方法是什么。

提前致谢。

-B

4

4 回答 4

7

就像是:

$('img.thumb').click(function() {
    var src = $(this).attr('src');
    $('#bigImage').attr('src', src.replace(/-thumb/,''));
});

如果您的拇指是通过 ajax 加载的,则以下示例适用:

(1) 使用事件/直播

$('img.thumb').live("click", function() {
    var src = $(this).attr('src');
    $('#bigImage').attr('src', src.replace(/-thumb/,''));
});

(2) 作为对 jQuery 的 ajax 方法之一的回调(例如):

function initThumbs()
{
    $('img.thumb').click(function() {
        var src = $(this).attr('src');
        $('#bigImage').attr('src', src.replace(/-thumb/,''));
    });
}

$('#thumbsDiv').load('thumbs.php?p=2', initThumbs);
于 2009-08-12T13:23:19.153 回答
0

karim79 的回答可以稍微缩短:

$('img.thumb').click(function() {
    $('#bigImage').attr('src', $(this).attr('src').replace(/-thumb/,''));
});

但除此之外,很好的答案!

于 2009-08-12T13:36:15.983 回答
0

对 karim79 的唯一补充是:

如果缩略图被放置在同一个父级中,那么在该父级上绑定一个事件会更好(优雅?)解决方案,即在所有缩略图上绑定事件。该事件被传播,因此您可以通过检查事件目标找到缩略图。

于 2009-08-12T14:00:09.653 回答
0
$().ready(function() {

    //get all images from unordered list and apply click function
    $('ul#myList img').each(function() {
        $(this).click(function() {
            $('#mainImage').attr('src', $(this).attr('src').replace('-thumb', ''));
        });
    });

});
于 2009-08-12T15:09:01.993 回答