我有一个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);
});
});
答案 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事件绑定到缩略图而不是整个库。