2011-05-05 86 views
0

我有一個工具提示誰正在通過ajax獲取數據。我的問題是我想調整框的高度以適合數據(只是一些標記)。jquery Position()失敗

這個盒子是絕對定位的,我想根據盒子的大小改變頂部定位,使底部邊框始終接觸下面的元素位置。

在鉻,這是工作正常。但是在FireFox中,我似乎無法讓它起作用。我試圖通過調用.position()。top並且通過檢索css值.css('top')來獲得初始頂級CSS值。在FF中都不起作用。我不知道該怎麼做。

var popup=$('#saved_descr_wrap'); 
var cur_height=popup.height(); 
var cur_top=popup.css('top'); 
cur_top=parseInt(cur_top); 



var entryHover = function(event){ 
    var favorite_id=2; 
    popup.show(); 

// var fave_id=$(event.target).closest('tr').attr('data-postid'); 

    $.get('{{Site}}/favorites/view/', {id:favorite_id}, function(data){ 
     popup.find('img').hide(); 
     $('#saved_note').text(data); 
     var new_height=popup.height(); 

     var c=cur_top + cur_height - new_height; 


     popup.css('top', c); 
    }); 

}; 

var exitHover=function(event){ 
// popup.hide(); 
    popup.css('top',cur_top); 
    $('#saved_note').text(''); 
    popup.find('img').show(); 
}; 

$('tbody tr').hoverIntent({over:entryHover,out:exitHover}); 

這是我拍的jQuery用戶界面(也有失敗):

 var entryHover = function(event){ 
    popup.position({my:"right bottom",at:"top right", of:"#main_box"}); 
    popup.show(); 

    var fave_id=$(event.target).closest('tr').attr('data-postid'); 

    $.get('{{Site}}/favorites/view/', {id:fave_id}, function(data){ 
     popup.find('img').hide(); 
     $('#saved_note').text(data); 

    }); 

}; 

var exitHover=function(event){ 
    popup.hide(); 
    popup.position({my:"right bottom",at:"top right", of:"#main_box"}); 

    $('#saved_note').text(''); 
    popup.find('img').show(); 
}; 

$('tbody tr').hoverIntent({over:entryHover,out:exitHover}); 

回答

1

您可以使用jQuery UI的功能?如果可以的話,你有沒有看着the position function?

 $(".positionable").position({ 
      of: $("#parent"), 
      my: "top left", 
      at: "top left", 
     }); 
+0

嘿羅伯特,其實我試過,也沒有結果。我通過我的網站的其餘部分使用jQuery UI。由於某種原因,它不起作用 – Ben 2011-05-05 21:58:41

+0

你的html和css對於popup元素的外觀如何: – Rob 2011-05-05 22:12:58