我有jQuery:
$('img[title*=\"Show\"]').live('click', function(e) {
//$e.preventDefault();
e.stopImmediatePropagation();
var position = $('img[title*=\"Show\"]').parent().position();
$('#popover').css('top', position.top + $('img[title*=\"Show\"]').parent().height());
console.log(position);
$('#popover').fadeToggle('fast');
if ($('img[title*=\"Show\"]').hasClass('active')) {
$(this).removeClass('active');
} else {
$('img[title*=\"Show\"]').addClass('active');
}
});
我有两张标题为“显示选项”的图片。
单击第一张图像时,popover div显示正确。
当我点击第二张图像时,弹出框出现在第一张图像下面。
我希望它出现在第二张图片下面。
为什么会这样?
答案 0 :(得分:1)
尝试使用偏移而不是位置
$(this).parent().offset();
你还必须使用“this”而不是ID,因为它总是匹配第一张图片
答案 1 :(得分:0)
我认为您需要将第3行更改为:
Var position = $(this).parent().position();
调用事件处理程序时,$(this)将引用单击的元素。