历上最变态的问题:浮动div遮不住展开的select下拉框选项,求大侠帮忙,在线等!
背景:
1.ie8环境下。
2.页面有下拉的导航条菜单,导航条下方有select下拉框。
3.下拉导航条的浮动div菜单后方也加了ifram(可以遮住select下拉框)
情况:点击select展开下拉框还没有选的时候,鼠标移动到上面的菜单,然后菜单下拉出来的div层(后方加了ifram)遮不住select下拉出来的选项。
[解决办法]
看起来你的代码很乱,你的问题主要在布局方面,就算改好了,你拿过去,也未必能直接用上,还不如这样,在显示出菜单的时候,直接对select进行隐藏,过后再显示,这样反而对你更容易点
[解决办法]
一般都是直接隐藏,然后显示。那些用frame遮的我也试过。很蛋疼的。
[解决办法]
还有就是不一定非要用select下拉列表。像51job点个“选择地区”,直接弹出个div框体选择。
现在都是web2.0年代,点一下select拉出一整屏下拉列表,反而没用户体验。
[解决办法]
只能把select用div模拟,select是窗体级元素,ie下解析渲染总是优先于div的
[解决办法]
你还是用jquery吧。不然你会被兼容性搞到崩溃的。另外,下拉列表为何要判断mouseover??
[解决办法]
个人还是建议你用个div什么的代替好了。或者不要用mouseover时间,而是用change事件。
[解决办法]
<script type="text/javascript">
function suo(){
document.getElementById("menu").onmouseover = function(){
document.getElementById("menu2").style.display="block"
document.getElementById("menuifram").style.display="block"
var s=document.getElementsByName('D1')[0];
s.blur();
}
document.getElementById("menu").onmouseout= function(){
document.getElementById("menu2").style.display="none"
document.getElementById("menuifram").style.display="none"
}
}
</script>
[解决办法]