我用Iframe嵌套了一个页面,页面中包含一个combo。单独运行combo 页面显示正常,但是嵌入到iframe中,如果Iframe的高度的低于combo的下拉框的高度,那么显示有一部分被遮 挡。看了一下easyui源码,发现combo的combo-panel设置了z-index=10,于是我把Iframe的zindex设置成-1,position:abosutle 但 是效果还是不对 求大家帮忙看看。而在iframe中的select元素不会被遮挡,这是为什么呢。我发现在iframe中Panel 也存在这个问题。求高手解决
本以为这个http://blog.csdn.net/huangxw000/article/details/7259934可以帮到你,我自己试了一下,发现行不通,也就是我也不知道有什么方法可以让一个DIV显示在iframe外面。目前也就是select可以显示在iframe外面。
不过。。。你把combo放在一个iframe中,然后又在页面中引用这个iframe,那为什么不直接引用combo呢?我估计你就算换成easyui的combo,也不能改变现在的情况。
还有一种不好的方法:直接固定iframe的高度,让它可以显示整个combo;再或者,利用js动态改变iframe的高度,当展开combo的时候,增大iframe的高度,反之减小高度
因为IFRAME中是公共使用的,通过配置生成的页面,业务根据自己的需求在公共的页面上进行二次开发,所以最好不要通过高度来修改遮盖问题,因为被嵌入的IFRAME可能会高度很小,也可能会高度比较大。
@uuliver: 目前来看,css似乎不能做到这一点:让DIV显示在iframe外面。
可以考虑两种变通方法:
(1)利用AJAX直接请求公共页面,这样你可以得到html字符串,然后生成相应的节点。
(2)还是利用iframe来请求公共页面,不过需要隐藏这个iframe,然后在iframe中实现onload事件,将公共页面中的内容复制到父页面中的相应DIV中
@ThreeTree: 恩 感谢高手给的意见,第一种方式 应该就是用Panel去引用那个页面,不用Iframe
第二种方式我去试试。十分感谢:-)