出于某种原因,使用JQuery将div附加到网页中并使用默认值;顶部div的百分比为50%。当使用JQuery获取top
值时,我得到157.6px
?实际上它应该在400px
左右。
我不确定为什么会这样?任何见解都会非常感激!
JQuery的:
...code
//get last x and y cordinates
if(fontActive == 1)
{
var x = $("#draggable").css('left');
var y =$("#draggable").css('top');
}
// default remove old
$(".customize-Container #draggable").remove();
//get values
var text = $("#fontEnter").val();
var current = $(".activeText a div").attr('id');
//create a canvas for image converting
$(".customize-Container").append("<div id='draggable'><canvas id='"+current+"'></canvas></div>");
//get x and y cordinates if fontActive not 1
if(fontActive != 1)
{
var x = $("#draggable").css('left');
var y =$("#draggable").css('top');
}
...code
请注意,在上面首次启动fontActive = 0
时,如果已经运行了这个值fontActive = 1.
同样我说#draggable
有css样式,top
值默认为50%;
答案 0 :(得分:2)
我很确定这是因为.css('top')
是returning the top value as relative to the closest parent element with a position defined
。
要获得您想要的价值,最有可能
$('#draggable').position().top +'px'
你必须附加px值,因为它会返回一个整数。