Javascript 展开一个div以覆盖另一个div
我使用jQuery在悬停div时展开它,使其覆盖页面的整个宽度。它包含一个大表,我需要构建一个低分辨率,但实际上每个人都有一个更高的分辨率,所以这是一个公认的解决方法。我的问题是,该div“跳”到其他div的下方,而不是像我希望的那样覆盖它们。有人知道如何做到这一点吗 我已经创建了一个jsfiddle,因此您可以了解其主要思想: 将灰色框悬停,使其向右扩展,覆盖侧边栏中的#asd2,而不是其下方。添加此css:Javascript 展开一个div以覆盖另一个div,javascript,jquery,css,Javascript,Jquery,Css,我使用jQuery在悬停div时展开它,使其覆盖页面的整个宽度。它包含一个大表,我需要构建一个低分辨率,但实际上每个人都有一个更高的分辨率,所以这是一个公认的解决方法。我的问题是,该div“跳”到其他div的下方,而不是像我希望的那样覆盖它们。有人知道如何做到这一点吗 我已经创建了一个jsfiddle,因此您可以了解其主要思想: 将灰色框悬停,使其向右扩展,覆盖侧边栏中的#asd2,而不是其下方。添加此css: #asd2{ position:absolute; z-index:-1;
#asd2{
position:absolute;
z-index:-1;
}
#log{
background:white;
}
示例:检查此小提琴:
解决方案包括在展开时向log div添加绝对定位,在折叠时将其取出。还包括一个小补丁,以避免在设置动画时闪烁。是否有理由不适合使用lightbox/thickbox之类的工具 或者,您需要使用绝对定位和z索引。我建议在制作动画之前先弄清楚你的理想布局。将它放在CSSEdit/Firebug/anywhere中,这样您的框就正好位于您想要的位置,然后就可以简单地添加到动画脚本中
或者只使用现成的灯箱。这不是一个完美的答案:
但在这里,我使用了一个子容器,允许您拥有100%的宽度和一些边框。谢谢,这很好,但仅适用于asd2,if,asd是多行,无论如何都会导致if跳跃。我需要一个动态的解决方案,因为我不知道框的内容(真实系统中有更多的框),不幸的是,这并不比我原来的解决方案更好。这很好,但我更改了动画变量,并使用了过滤器(':not(:animated)):布局已经完成,动画并不重要,重要的是它在其他窗口的顶部可见。我用fancybox做一些东西,但这需要在任何时候都可以看到,而不需要点击任何地方。不,我的意思是建立二级布局-一个所有东西都被放大的布局。这样,您就知道需要转换到什么css。一旦你做到了,一切都会变得简单。啊,好吧,我明白了,是的,这可能是最好的方法,但这是唯一需要做的事情,所以现在它完成了。如果它不应该是一个内部工具,那么是的,这将是一条路要走。