首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的div位置不能动态计算?

为什么我的div位置不能动态计算?
EN

Stack Overflow用户
提问于 2011-10-02 00:59:00
回答 2查看 71关注 0票数 0

我有jQuery:

代码语言:javascript
复制
$('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');
    }
  });

我有两张标题为“显示选项”的图片。

当我点击第一张图片时,弹出的div会正确显示。

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

我希望它出现在第二张图片的下面。

为什么会这样呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-02 01:00:55

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

代码语言:javascript
复制
  $(this).parent().offset();

您还必须使用"this“而不是ID,因为它将始终与第一张图片匹配

票数 1
EN

Stack Overflow用户

发布于 2011-10-02 01:12:45

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

代码语言:javascript
复制
Var position = $(this).parent().position();

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7621660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档