层的显示和隐藏 不指定

jed , 2006-9-27 11:12 , 代码编程 , 评论(0) , 阅读(5463) , Via 本站原创 | |
问:
如题,我有一个按钮,点这个按钮就显示层,点这个层以外的任何地方,就隐藏这个层,应该怎么做呀?

答:

<a href="javascript:showMenu();void(0);">Menu1</a>
<div onblur="hideMenu();" style="border:#555 2px outset;padding:10px;display:none;" id="menu1" tabIndex=0>I am a Menu</div>
<script>
function showMenu(){
document.getElementById("menu1").style.display="";
document.getElementById("menu1").focus();
}

function hideMenu(){
document.getElementById("menu1").style.display="none";
}
</script>

问:

有点问题,我在层中调用了一个iframe,现在这个iframe中的东西也不能点了,怎么办呢

答:

onblur="top.menuTimerHandle=setTimeout(hideMenu,500)"

然后

iframe中的body
onfocus="top.clearTimeout(top.menuTimerHandle)"

答:
在 div中加入高度或背景,点击div中的 层也一样背隐藏,或其他内容

<a href="javascript:showMenu();void(0);">Menu1</a>
<div onblur="hideMenu();" style="border:#555 2px outset;padding:10px;display:none;" id="menu1" tabIndex=0>
<div style="height:110px; background:#ccc">点击这里 层 一样隐藏</div>
</div>
<script>
function showMenu(){
document.getElementById("menu1").style.display="";
document.getElementById("menu1").focus();
}

function hideMenu(){
document.getElementById("menu1").style.display="none";
}
</script>

如何让层中无论加入任何元素,鼠标在层中点击时都不隐藏,只有鼠标在div外点击层才隐藏


答:

<a href="javascript:showMenu();void(0);">Menu1</a>
<div onblur="hideMenu();" style="border:#555 2px outset;padding:10px;display:none; height:110px;background:#ccc" id="menu1" tabIndex=999><div style="height:50px; background:#fff">点击白色部分div一样被隐藏,点击灰色区域div不会隐藏</div></div>
<script>
function showMenu(){
document.getElementById("menu1").style.display="";
document.getElementById("menu1").focus();
}

function hideMenu(){
document.getElementById("menu1").style.display="none";
}
</script>
相关日志
关于div的隐藏
Tags:
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]