Javascript 用偏移量定位绝对元素

Javascript 用偏移量定位绝对元素,javascript,jquery-ui,drop-down-menu,css-position,jquery-hover,Javascript,Jquery Ui,Drop Down Menu,Css Position,Jquery Hover,我在页面上有一个下拉菜单,希望菜单从主项向左下拉。它很快下降到右边 我在这里有个好主意 正如您所看到的,它现在下降到右侧,并调整页面大小以适应需要。我希望菜单向左倾斜,并保持所有尺寸的圆滑。有没有一个简单的方法。我知道jQuery菜单小部件可以做到这一点,但我还有其他问题 按钮位于页面中部,所以理想地,我希望下拉相对于父下落,而不仅仅是在右手边显示的JsFoDeld。希望这能澄清 代码: 准备好了吗 $(document).ready(function () { // Menus

我在页面上有一个下拉菜单,希望菜单从主项向左下拉。它很快下降到右边

我在这里有个好主意

正如您所看到的,它现在下降到右侧,并调整页面大小以适应需要。我希望菜单向左倾斜,并保持所有尺寸的圆滑。有没有一个简单的方法。我知道jQuery菜单小部件可以做到这一点,但我还有其他问题

按钮位于页面中部,所以理想地,我希望下拉相对于父下落,而不仅仅是在右手边显示的JsFoDeld。希望这能澄清

代码:

准备好了吗

    $(document).ready(function () {
    // Menus
    $('ul.menu').hide();

    $('ul#viewMenu li').hover(function () {
        $(this).children('ul.menu').animate({ opacity: 'show' }, 'slow');
    }, function () {
        $(this).children('ul.menu').animate({ opacity: 'hide' }, 'fast');
    });
    });
CSS

HTML



简单。给我这个:

ul#viewMenu ul.menu {
    position: absolute;
    right: 0;
}

小提琴:简单。给我这个:

ul#viewMenu ul.menu {
    position: absolute;
    right: 0;
}

Fiddle:结果表明,我所需要做的就是从jQuery offset值中获取当前绘制的位置。然后设置绝对元素的CSS位置。简单的。。。当你知道怎么做的时候

var position = $('ul#viewMenu ul.menu').offset();

$('ul#viewMenu ul.menu').css({ top: (position.top) + 'px', left: (position.left - 160) + 'px' });

$('ul.menu').hide();

$('ul#viewMenu li').hover(function () {
    $(this).children('ul.menu').animate({ opacity: 'show' }, 'slow');
}, function () {
    $(this).children('ul.menu').animate({ opacity: 'hide' }, 'fast');
});

事实证明,我所需要做的就是从jQuery偏移值中获取当前绘制的位置。然后设置绝对元素的CSS位置。简单的。。。当你知道怎么做的时候

var position = $('ul#viewMenu ul.menu').offset();

$('ul#viewMenu ul.menu').css({ top: (position.top) + 'px', left: (position.left - 160) + 'px' });

$('ul.menu').hide();

$('ul#viewMenu li').hover(function () {
    $(this).children('ul.menu').animate({ opacity: 'show' }, 'slow');
}, function () {
    $(this).children('ul.menu').animate({ opacity: 'hide' }, 'fast');
});

我想我的问题用错了词。菜单链接实际上是介于页面中间的其他几个按钮之间的某个地方。我不希望它总是在右边,而是作为一个相对于父对象的左侧下拉列表。。。。对不起,我想我的问题用错了词。菜单链接实际上是介于页面中间的其他几个按钮之间的某个地方。我不希望它总是在右边,而是作为一个相对于父对象的左侧下拉列表。。。。很抱歉