无法获得顶部和左侧值
我生成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")
你好我能够解决问题。
当我从相对于绝对的div位置改变它的作品。
$(this).parent().css("position","absolute");
问候 马诺
获得位置试试这个:
$(this).parent().offset().left
$(this).parent().offset().top
两者都给予0甚至是位置,一旦我调整图像大小,我开始得到正确的值。:( – 2011-12-27 15:19:36
我想你需要检查一下你的'this'指向的是什么,如果碰巧指向文档对象,它总会给你'0,0',我建议在位置之前放置一个断点代码并检查“this”实际包含的内容 - 确保它确实指向您需要的元素。 – techfoobar 2011-12-27 15:25:40
一个的jsfiddle例子是,在这种情况下非常有帮助! '$(this).parent()'是一个对象吗?如果是的话,试试'$(this).parent()。offset()。left'(和.top)或者如果你想要相对位置$(this).parent()。position()。left'。 – Armin 2011-12-27 15:02:33
yes $(this).parent()是通过调整大小功能创建的div包装器。 – 2011-12-27 15:07:16
那么'.offset()'和/或'.position()'方法应该工作:) – Armin 2011-12-27 15:09:42