jquery Position()失败

时间:2011-05-05 21:18:28

标签: javascript jquery ajax positioning

我有一个工具提示,他的数据是通过ajax获取的。我的问题是我想调整框的高度以适应数据(只是一些标记)。

盒子绝对定位,我希望顶部定位根据盒子的大小改变,这样它的底部边框总是触及下面的元素位置。

在chrome中,这很好用。但是在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 UI上的镜头(也是一个失败的):

     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 个答案:

答案 0 :(得分:1)

您是否可以使用jQuery UI功能?如果可以,请您查看the position function?

实施例

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