繁体   English   中英

为什么我的div位置没有得到动态计算?

[英]Why isn't my div position getting dynamically calculated?

我有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会正确显示。

当我点击第二张图片时,弹出窗口出现在第一张图片下方。

我希望它显示在第二张图片下方。

为什么是这样?

尝试使用偏移量而不是位置

  $(this).parent().offset();

您还必须使用“ this”代替ID,因为它始终与第一个图片匹配

我认为您需要将第三行更改为:

Var position = $(this).parent().position();

当事件处理程序被调用时,$(this)将引用被单击的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM