IE6中,在dropdwonlist上方显示一个div,会发现对div使用的z-index没有用,dropdownlist会显示在这个div的前面,与div发生了重叠。原来是dropdownlist和 list boxes 没有z-index属性,它们是窗口级控件,解决方案可以参考http://www.codeproject.com/Articles/20263/DropDownList-and-DIV-overlapping-problem,方法是在div显示的地方完全重合的显示一个和该div一样大小的iframe.
可以很容易控制这个iframe的大小,因为div的宽度和高度是已知的
代码:
在页面的顶部放一个iframe,
<iframe width="0" scrolling="no" height="0" frameborder="0" class="iballoonstyle" id="iframetop"> </iframe>
然后通过JS控制在要显示div的时候显示这个iframe,
var layer = document.getElementById(divTip.id); layer.style.display = 'block'; var iframe = document.getElementById('iframetop'); iframe.style.display = 'block'; iframe.style.width = layer.offsetWidth-5; iframe.style.height = layer.offsetHeight-5; iframe.style.left = layer.offsetLeft; iframe.style.top = layer.offsetTop;
divTip.id就是要显示的div的id