我网上收集的代码(弹出下拉菜单时可以隐藏下拉框,隐藏下拉菜单时显示下拉框):
隐藏下拉框
<script language="JavaScript">
<!--
/*
 * 要显示某个层时调用HideElements(oDiv)
 * 隐藏某个层时调用ShowElements()
 */
/*
 * 隐藏下拉框函数
 */
function HideElements(el) 
{
if (!window.__temp__) window.__temp__ = new Array();
var o = ["select","iframe","applet","object"];
for (var i=0; i<o.length; i++) 
{
var elms = document.getElementsByTagName(o[i]);
for (var j=0; j<elms.length; j++) 
{
var p = getPosition(elms[j]);
var e = getPosition(el);
if (e.left + e.width > p.left && e.left < p.left + p.width &&
e.top + e.height > p.top && e.top < p.top + p.height) 
{
window.__temp__[j] = elms[j];
elms[j].style.visibility = "hidden";
}
}
}
function getPosition(el) 
{
var e = el.offsetParent, x = el.offsetLeft, y = el.offsetTop;
while (e.tagName != 'BODY') 
{
x += e.offsetLeft;
y += e.offsetTop;
e = e.offsetParent;
}
return {
"left": x,
"top": y,
"width": el.offsetWidth,
"height": el.offsetHeight
}
};
};
/*
 * 显示下拉框
 */
function ShowElements() 
{
var t = window.__temp__;
if (t) {
for (var i=0; i<t.length; i++) 
{
t[i].style.visibility = "visible";
}
}
}; //-->
</script>

解决方案 »

  1.   

    回复人: xiaohuasz() ( ) 信誉:100 HideElements(el) 参数e1是什么
    还有函数中出现tagName为空或不是对象错误
      

  2.   

    HideElements(el) 参数e1为想显示在下拉框上的元素名称
      

  3.   

    下面的代码作为演示
    <select></select>
    <select></select>
    <div style="position:absolute;left:0;top:0;width:100;height:100;background-color:red" onclick="HideElements(this)">
    点击让select隐藏
    </div>