2011-07-24 6 views
0

私はajax呼び出しを行っています。次のように成功した場合に呼び出された関数が見えます:ボディに追加する前にdivのサイズを取得する

function(data){ 
      $div.html(data); 
      posX=window.mouseX+1; 
      posY=window.mouseY+1; 
      if(posY-$(document).scrollTop()+$div.height()>$(window).height()){ 
       posY-=$div.height(); 
      } 
      $div.css('left',posX+'px'); 
      $div.css('top',posY+'px'); 
      $div.appendTo($('body')); 
     } 

アイデアがある:マウスの座標に位置divのつもりブラウザのサイズに合わせていない場合は、私が代わりにマウスポインタの上にそれを置きます。 問題は、$ div.height()が本体に追加する前に$ div.height()を呼び出すと0が返されるということです。最初に追加して後に移動する以外の高さを取得する方法はありますか?

+0

ページの最後(bodyタグの直前)にスクリプトを置こうとしましたか? – Purag

+0

'$ div'とは何ですか?あなたはその変数をどこに割り当てていますか? – AlienWebguy

答えて

2

display:noneで挿入し、jQueryのwidth()およびheight()関数を使用します。

+0

+1超簡単な解決策。 – AlienWebguy

関連する問題