Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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
Javascript 将一个固定元件放置在另一个固定元件下方_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 将一个固定元件放置在另一个固定元件下方

Javascript 将一个固定元件放置在另一个固定元件下方,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有两个固定元素,其中一个可以是 显示:块或显示:无。另一个固定元素总是可见的。我希望这些元素能够贴在网站的顶部,而不是相互重叠 我找到的唯一建议解决方案就是这些问题: 将两个div放在另一个容器div中,并将其设置为 固定的 但是我不能这样做,因为这两个元素在代码中处于不同的位置,我无法更改 下面是一段代码片段,演示了我的问题: nav, .第二菜单{ 位置:固定; 高度:120px; 不透明度:1; 排名:0; 宽度:100%; 背景:浅灰色; } .第二菜单{ 高度:50px; 背景

我有两个固定元素,其中一个可以是
显示:块
显示:无
。另一个固定元素总是可见的。我希望这些元素能够贴在网站的顶部,而不是相互重叠

我找到的唯一建议解决方案就是这些问题:

将两个div放在另一个容器div中,并将其设置为 固定的

但是我不能这样做,因为这两个元素在代码中处于不同的位置,我无法更改

下面是一段代码片段,演示了我的问题:

nav,
.第二菜单{
位置:固定;
高度:120px;
不透明度:1;
排名:0;
宽度:100%;
背景:浅灰色;
}
.第二菜单{
高度:50px;
背景:灰色;
不透明度:1;
z指数:2;
}
身体{
高度:1000px;
}
可能存在或不存在,并覆盖其他导航
用相对位置将两者分开的其他东西

为两者创建一个支架是正确的方法。 但在您的情况下,您可以定位这两个已修复的。 当另一个元素被隐藏或显示时,您可以通过Javascript处理这两个元素样式(即顶部和左侧属性)

试试下面这样

这可以在第二个导航的高度上添加一个“顶部”,就像我在这里做的那样

注意:这不是完整的解决方案:如果您只想显示第二个导航,可以使用js将“top”设置回0

nav,
.第二菜单{
位置:固定;
高度:120px;
不透明度:1;
排名:0;
宽度:100%;
背景:浅灰色;
}
.第二菜单{
高度:50px;
背景:灰色;
不透明度:1;
z指数:2;
顶部:120px;
}
身体{
高度:1000px;
}
可能存在或不存在,并覆盖其他导航
用相对位置将两者分开的其他东西

您试过粘性套件吗


Sticky kit提供了一种简单的方法,可以在用户滚动时将元素附加到页面上,从而使元素始终可见。

如果元素实际上是DOM中的同级元素,并且第一个元素的显示是通过JavaScript动态设置/删除的类来切换的,那么剩下的部分可以单独在CSS中处理,使用通用同级组合器
~
@misorude,通过内联样式切换第一个元素的显示。这是个好主意!我的意思是,我原本打算把第二个菜单放在最上面,但我忘了在问题中指定它,而把它放在第一个菜单下面也行。所以我想这是正确的解决方案。谢谢:)