1

由于某种原因,当使用 JQuery 将 div 附加到网页并默认使用时;顶部的 div 占 50% 的百分比。使用 JQuery 获取top我得到的值时157.6px?实际上它应该在某个地方400px

我不确定这是为什么?任何见解将不胜感激!

查询:

...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%;

4

1 回答 1

2

我很确定这是因为.css('top')is returning the top value as relative to the closest parent element with a position defined

为了得到你想要的价值,很可能

$('#draggable').position().top +'px' 

您必须在其中附加 px 值,因为它将返回一个整数。

于 2013-07-18T00:24:46.600 回答