Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery下拉菜单定位_Jquery_Css_Jquery Ui - Fatal编程技术网

jquery下拉菜单定位

jquery下拉菜单定位,jquery,css,jquery-ui,Jquery,Css,Jquery Ui,我需要创建一个下拉菜单,它将打开而不是关闭。 经过这些,我想出了如何创建一个下拉列表,然后根据我的需求对其进行修改,最后得到了一个结果 我现在想让这个下拉列表粘贴到页面底部,所以我将容器的css更改为position:absolute;底部:0。但是,我的下拉列表不再正确显示,如图所示 有人能解释一下为什么会发生这种情况,以及如何正确地去做吗 提前感谢。:) 编辑: 多亏了kei和bukfixart,我现在交替使用下面给出的两个代码,结果是相同的:它们在IE9中工作,但在Chrome或Firef

我需要创建一个下拉菜单,它将打开而不是关闭。 经过这些,我想出了如何创建一个下拉列表,然后根据我的需求对其进行修改,最后得到了一个结果

我现在想让这个下拉列表粘贴到页面底部,所以我将容器的css更改为
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%}
非常感谢:)如果不太麻烦的话,你能解释一下这个问题吗,这样我以后就不会犯同样的错误了?我真的不明白。