弹出窗口的动态定位

时间:2014-05-08 05:38:50

标签: jquery html css

我有一个来自数据库的动态填充表,其行数非常多。 我已经设置了JSFiddle here

在驱动程序行中,我有一个弹出窗口,会显示当前可用的驱动程序,点击它们我可以为相应的预订分配驱动程序。

我想直接在已单击的行下弹出driver-div,因为现在驱动程序div在固定位置弹出,我需要一种方法来动态更新div的位置以匹配点击的行。

我尝试过使用.position();.index();,但我无法让它发挥作用。

2 个答案:

答案 0 :(得分:0)

使用.offset()

$('#select-driver-list').offset( elem.offset() );

这会将驱动程序框的顶部设置为链接顶部(elem)。您可以使用它来将elem的高度添加到框的顶部以使其显示

if (elem.length) {
    e.preventDefault();
    var o = elem.offset();
    o.top += elem.height();
    $('#select-driver-list').toggle(100).offset( o );
}

答案 1 :(得分:0)

仅更新逻辑,

$(document).ready(function () {
    $(".select-driver").each(function(e){
        $(this).on("click",function(){
            $(this).parent("div").siblings("div").toggle();
        });
    });
});

正常工作:jsfiddle