Javascript 用偏移量定位绝对元素
我在页面上有一个下拉菜单,希望菜单从主项向左下拉。它很快下降到右边 我在这里有个好主意 正如您所看到的,它现在下降到右侧,并调整页面大小以适应需要。我希望菜单向左倾斜,并保持所有尺寸的圆滑。有没有一个简单的方法。我知道jQuery菜单小部件可以做到这一点,但我还有其他问题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
按钮位于页面中部,所以理想地,我希望下拉相对于父下落,而不仅仅是在右手边显示的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');
});
我想我的问题用错了词。菜单链接实际上是介于页面中间的其他几个按钮之间的某个地方。我不希望它总是在右边,而是作为一个相对于父对象的左侧下拉列表。。。。对不起,我想我的问题用错了词。菜单链接实际上是介于页面中间的其他几个按钮之间的某个地方。我不希望它总是在右边,而是作为一个相对于父对象的左侧下拉列表。。。。很抱歉