2013-05-28 71 views
0

加載頁面後,div的位置爲0,0。
但它的位置正確。如何在一開始就獲得正確的位置? 我以JFiddle爲例說明了這個問題。點擊按鈕後,位置值是正確的。加載後Div位置爲0

<div data-role="page" id="homepage"> 

    <div data-role="header"> 
      <h1>Home</h1> 

    </div><!-- /header --> 

    <div data-role="content" id="homecontent">  
<p><a href="#page1">Page1</a></p>   
    </div><!-- /content --> 

    <div data-role="footer"> 
      <h4>&nbsp;</h4> 
    </div><!-- /footer --> 

</div><!-- /page --> 

<div data-role="page" id="page1"> 

    <div data-role="header"> 
      <h1>Page1</h1> 
    </div><!-- /header --> 

    <div data-role="content" id="page1content">  

    </div><!-- /content --> 

    <div data-role="footer"> 
      <h4>&nbsp;</h4> 
    </div><!-- /footer --> 

</div><!-- /page --> 

==== 

jQuery(document).ready(function(e) { 
    initThis(); 
});  


function initThis() { 

    $('#page1content').append('<div id="isodivi"></div>').trigger("create"); 
    $('#isodivi').height(100); 
    $('#isodivi').width(600); 
    $('#isodivi').css("background-color", "lightgreen"); 
    var test = $('#isodivi').position().left +" "+ $('#isodivi').position().top; 
    $('#isodivi').html(test); 
    $('#isodivi').append('<a href="#" data-role="button" id="button1">Click</a>').trigger("create"); 
}  

$('#button1').click(function() { 
var test = $('#isodivi').position().left +" "+ $('#isodivi').position().top; 
$('#isodivi').html(test);   
}); 
+0

也許這只是我,但我覺得這個問題的措辭令人困惑。你想做什麼?你期望發生什麼?有什麼問題? – j08691

+0

對不起。我嘗試使用位置值將其他元素定位到此div。其他div元素位置錯誤,因爲父div的位置值錯誤。 – mattJo

回答

0

這裏是一個工作版本:

http://jsfiddle.net/hA3Uz/1/

的問題是,在未經編輯的代碼中,div的位置被置於test當DIV不存在,試着加入:

alert(test); 
initThis()功能(

你給的值來之後),你希望明白我的意思。

+0

非常感謝。我想我現在明白這個的原因。 – mattJo