1

何らかの理由で、JQuery を使用して div を Web ページに追加し、デフォルトとして使用する場合。上部の 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.

また、私が言ったように、#draggableCSS スタイルがあり、top値はデフォルトで 50% に設定されています。

4

1 に答える 1

2

であるからだと確信してい.css('top')ます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 に答える