jquery下拉菜单定位
我需要创建一个下拉菜单,它将打开而不是关闭。 经过这些,我想出了如何创建一个下拉列表,然后根据我的需求对其进行修改,最后得到了一个结果 我现在想让这个下拉列表粘贴到页面底部,所以我将容器的css更改为jquery下拉菜单定位,jquery,css,jquery-ui,Jquery,Css,Jquery Ui,我需要创建一个下拉菜单,它将打开而不是关闭。 经过这些,我想出了如何创建一个下拉列表,然后根据我的需求对其进行修改,最后得到了一个结果 我现在想让这个下拉列表粘贴到页面底部,所以我将容器的css更改为position:absolute;底部:0。但是,我的下拉列表不再正确显示,如图所示 有人能解释一下为什么会发生这种情况,以及如何正确地去做吗 提前感谢。:) 编辑: 多亏了kei和bukfixart,我现在交替使用下面给出的两个代码,结果是相同的:它们在IE9中工作,但在Chrome或Firef
position:absolute;底部:0代码>。但是,我的下拉列表不再正确显示,如图所示
有人能解释一下为什么会发生这种情况,以及如何正确地去做吗
提前感谢。:)
编辑:
多亏了kei和bukfixart,我现在交替使用下面给出的两个代码,结果是相同的:它们在IE9中工作,但在Chrome或Firefox中不工作(读:行为怪异)。你可以看到这种奇怪的行为。
请注意,只有当所有4个选项卡都在同一行时才会发生这种情况
谁能解释一下为什么会发生这种情况
提前感谢。:)
在jQuery中,将其从
submenu.css({
position: 'absolute',
top: $(this).offset().top - submenu.height() + 'px',
left: $(this).offset().left + 'px',
zIndex: 1000
});
到
在jQuery中,将其从
submenu.css({
position: 'absolute',
top: $(this).offset().top - submenu.height() + 'px',
left: $(this).offset().left + 'px',
zIndex: 1000
});
到
原因很简单
你应该用这个替换你的代码
submenu.css({
position: 'absolute',
top: - submenu.height() + 'px',
left: $(this).offset().left + 'px',
zIndex: 1000
});
(已删除父对象的高度)。
你给了家长一个绝对的定位。因此,孩子们被定位于父母的位置。在这种情况下,计算中不需要高度
只要给#container
元素始终一个相对的
或绝对的
位置,您就可以在所有情况下使用固定脚本原因很简单
你应该用这个替换你的代码
submenu.css({
position: 'absolute',
top: - submenu.height() + 'px',
left: $(this).offset().left + 'px',
zIndex: 1000
});
(已删除父对象的高度)。
你给了家长一个绝对的定位。因此,孩子们被定位于父母的位置。在这种情况下,计算中不需要高度
只需为#container
元素始终指定一个相对
或绝对
位置,您就可以在所有情况下使用固定脚本很抱歉回复太晚。谢谢你的解决方案。但现在有一个问题。如果打开(修改您的建议)并充分扩展结果窗口,使所有4个选项卡同时可见,现在将鼠标悬停在div上,布局将中断,并且选项卡4位于第一个选项卡的下方。这只发生在Chrome中,在IE9中可以正常工作。很抱歉回复太晚。谢谢你的解决方案。但现在有一个问题。如果打开(修改您的建议)并充分扩展结果窗口,使所有4个选项卡同时可见,现在将鼠标悬停在div上,布局将中断,并且选项卡4位于第一个选项卡的下方。这只发生在Chrome中,在IE9中可以正常工作。@Fahad这更多的是CSS问题。只需添加#container{width:100%}
非常感谢:)如果不太麻烦的话,你能解释一下这个问题吗,这样我以后就不会犯同样的错误了?我真的不明白。@Fahad这更多的是CSS问题。只需添加#container{width:100%}
非常感谢:)如果不太麻烦的话,你能解释一下这个问题吗,这样我以后就不会犯同样的错误了?我真的不明白。