Javascript / JQuery执行顺序

时间:2012-05-22 18:24:21

标签: javascript jquery variables html

我有一个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);
    });
});

1 个答案:

答案 0 :(得分: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'));
    });
});

编辑:我看了一下您的网站,我调整了我的代码。您希望将click事件绑定到缩略图而不是整个库。