无法获得顶部和左侧值

问题描述:

我生成img标签动态再提供阻力,之后,我将其附加到容器中,然后设置其位置在容器中心的大小的功能。这一切工作正常,但追加后,当我撤回顶部和左上方添加img标签的位置,我越来越顶部0和0。当我调整一次后,我就获得了正确的位置。为什么会发生这种情况,我总是很无情。请帮助。无法获得顶部和左侧值

下面是代码

var img_clip = document.createElement('img'); 
    $(img_clip).attr("id", "dyndiv" + count); 
    $(img_clip).attr("src", current_clip) ;  
    $(img_clip).attr("width", 30); 
    $(img_clip).attr("height",50);                 
     var $ctrl = $(img_clip).resizable({ containment: '#containment-wrapper'}).parent().addClass("resizable").draggable({ containment: '#containment-wrapper', cursor: 'move',delay: 200,distance: 30, opacity: 0.35}); 
     objid = "dyndiv" + count ; 
     $(img_clip).css("z-index" , $(img_clip).css("z-index") + count); 
     $('#sel_obj_text').val("Image"); 
     count++; 
     $("#containment-wrapper").append($ctrl); 
      $('#' + objid).parent().position({ 
        of: $("#containment-wrapper"), 
        my: "center" + " " + "center", 
        at: "center" + " " + "center" 
               }); 

后来在其他部分的代码,我想从以下行

$(this).parent().css("left") 
    $(this).parent().css("top") 
+2

一个的jsfiddle例子是,在这种情况下非常有帮助! '$(this).parent()'是一个对象吗?如果是的话,试试'$(this).parent()。offset()。left'(和.top)或者如果你想要相对位置$(this).parent()。position()。left'。 – Armin 2011-12-27 15:02:33

+0

yes $(this).parent()是通过调整大小功能创建的div包装器。 – 2011-12-27 15:07:16

+0

那么'.offset()'和/或'.position()'方法应该工作:) – Armin 2011-12-27 15:09:42

你好我能够解决问题。

当我从相对于绝对的div位置改变它的作品。

$(this).parent().css("position","absolute"); 

问候 马诺

获得位置试试这个:

$(this).parent().offset().left 
$(this).parent().offset().top 
+0

两者都给予0甚至是位置,一旦我调整图像大小,我开始得到正确的值。:( – 2011-12-27 15:19:36

+0

我想你需要检查一下你的'this'指向的是什么,如果碰巧指向文档对象,它总会给你'0,0',我建议在位置之前放置一个断点代码并检查“this”实际包含的内容 - 确保它确实指向您需要的元素。 – techfoobar 2011-12-27 15:25:40