0

我有一个 div“.gallery”的多个实例,我想在点击时获取 .gallery 的特定实例所在的 div 的 id。然后,这将填充一个变量,我可以使用该变量使图像仅在该 div 的图库中更改。问题是页面似乎尝试进行图像交换,然后更改变量,因此第一次单击时图像不会更改,更糟糕的是,第一次单击不同的图库时它会更改图像您与之互动的最后一个画廊。目前,每次您单击报告您单击的 div 的 div 时,我都会弹出一个 javascript 警报。如果您想使用它,我将页面处于当前状态。www.ryanscasey.com/redesign

直接的javascript如下:

$(document).ready(function() {

    var clickedDiv;

    $('.gallery').click(function() {
        clickedDiv = $(this).parent().parent().attr("id");
        $('#' + clickedDiv + ' .thumbs img').click(function() {
            $('#' + clickedDiv + ' .largeImage').html($(this).attr('alt'));
        });
        alert(clickedDiv);
    });
});
4

1 回答 1

0

我想这就是你想要的。听起来您不需要绑定多个单击事件。按照您的方式,它会在任何时候单击.gallery项目时绑定单击事件。如果这不起作用,请告诉我,我们将尝试从那里开始工作。

$(document).ready(function() {
    $('.gallery .thumbs img').click(function() {
        var $this = $(this),
            $gallery = $this.closest('.gallery'),
            $large = $gallery.find('.largeImage');

        $large.html($this.attr('alt'));
    });
});

编辑:我查看了您的网站,并调整了我的代码。您想将点击事件绑定到缩略图而不是整个画廊。

于 2012-05-22T18:29:31.383 回答