原处有错误,,,,赋值和弹出已经做好了,,,只差关闭了,,,,,,,
function closeDiv(){   //*******需要在鼠标离开时调用,,,关闭弹出的层,,,
    document.body.removeChild(docEle(_id));
    return false;
}
小弟不太明白,,,,,
var cate1=["昂达","奥林巴斯","安莉芳","AVON","阿依莲","Aznavour"];
var cate2=["芭比","彪马","博美","宝马","贝亲","保鲜盒","避孕","布艺","抱枕"];
var cate3=["赤壁","垂钓","CD","彩虹岛","产后恢复","充值","彩妆","传真机","车载MP3"];
var docEle = function() {
      return document.getElementById(arguments[0]) || false;
    }
function openNewDiv(_cate,_id) {   //传入的_cate是一个相应的数组
var m = "mask";
 var aStr = '';
 for(var i=0;i<_cate.length;i++){
    aStr = aStr+"<a href=\"#\">"+_cate[i]+"</a>";
 }
if (docEle(_id)) document.removeChild(docEle(_id));
//if (docEle(m)) document.removeChild(docEle(m));
// 新激活图层
var newDiv = document.createElement("div");
newDiv.id = _id;
newDiv.style.position = "absolute";
newDiv.style.zIndex = "9999";
newDiv.style.width = "500px";
newDiv.style.height = "90px";
newDiv.style.top = "150px";
//newDiv.style.left = (parseInt(document.body.scrollWidth) - 300) / 2 + "px"; // 屏幕居中
newDiv.style.background = "#EFEFEF";
newDiv.style.border = "1px solid #860001";
newDiv.style.padding = "5px";
newDiv.innerHTML = aStr;  //*********在此处把传入的数组 _cate 赋值给弹出的新层做为显示内容,,,,
document.body.appendChild(newDiv);
}

解决方案 »

  1.   


    <!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN "  
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
    <html xmlns="http://www.w3.org/1999/xhtml ">
        <head>
    <meta http-equiv="Content-Type " content="text/html;   charset=utf-8 " />
    <title>test</title>
    <script language="javascript">
    var cate1=["昂达","奥林巴斯","安莉芳","AVON","阿依莲","Aznavour"];
    var cate2=["芭比","彪马","博美","宝马","贝亲","保鲜盒","避孕","布艺","抱枕"];
    var cate3=["赤壁","垂钓","CD","彩虹岛","产后恢复","充值","彩妆","传真机","车载MP3"];
    var _id = "test";
    var docEle = function() {
          return document.getElementById(arguments[0]) || false;
        }
    function openNewDiv(_cate) {   //传入的_cate是一个相应的数组
        var m = "mask";
             var aStr = '';
             for(var i=0;i<_cate.length;i++){
                aStr = aStr+"<a href=\"#\">"+_cate[i]+"</a>";
             }
        //if (docEle(_id)) document.removeChild(docEle(_id));
        //if (docEle(m)) document.removeChild(docEle(m));
        // 新激活图层
        var newDiv = document.createElement("div");
            newDiv.id = _id;
            newDiv.style.position = "absolute";
            newDiv.style.zIndex = "9999";
            newDiv.style.width = "500px";
            newDiv.style.height = "90px";
            newDiv.style.top = "150px";
            //newDiv.style.left = (parseInt(document.body.scrollWidth) - 300) / 2 + "px"; // 屏幕居中
            newDiv.style.background = "#EFEFEF";
            newDiv.style.border = "1px solid #860001";
            newDiv.style.padding = "5px";
            newDiv.innerHTML = aStr;  //*********在此处把传入的数组 _cate 赋值给弹出的新层做为显示内容,,,,
        document.body.appendChild(newDiv);
    }function closeDiv(){   //*******需要在鼠标离开时调用,,,关闭弹出的层,,,
    var div = docEle(_id);
    if(div)
         document.body.removeChild(div);
        return false;
    }
    </script>
        </head>
        <body>
            <LI class="active" id="catea" onmouseover="openNewDiv(cate1);" onmouseout="closeDiv();">a</LI>
            <LI class="normal" id="cateb" onmouseover="openNewDiv(cate2);" onmouseout="closeDiv();">b</LI>
            <LI class="normal" id="catec" onmouseover="openNewDiv(cate3);" onmouseout="closeDiv();">c</LI>
        </body>
    </html>
      

  2.   

    完美解决,,,十分感谢,,,,
    <!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN "  
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
    <html xmlns="http://www.w3.org/1999/xhtml ">
    <head>
    <meta http-equiv="Content-Type " content="text/html;   charset=utf-8 " />
    <title></title>
    <script type="text/javascript">
    var cate1=["昂达","奥林巴斯","安莉芳","AVON","阿依莲","Aznavour"];
    var cate2=["芭比","彪马","博美","宝马","贝亲","保鲜盒","避孕","布艺","抱枕"];
    var cate3=["赤壁","垂钓","CD","彩虹岛","产后恢复","充值","彩妆","传真机","车载MP3"];
    var docEle = function() {
          return document.getElementById(arguments[0]) || false;
        }
    function openNewDiv(_cate,_id) {   //传入的_cate是一个相应的数组
    var m = "mask";
     var aStr = '';
     for(var i=0;i<_cate.length;i++){
        aStr = aStr+"<a href=\"#\">"+_cate[i]+"</a>"+"   ";
     }
    if (docEle(_id)) document.removeChild(docEle(_id));
    //if (docEle(m)) document.removeChild(docEle(m));
    // 新激活图层
    var newDiv = document.createElement("div");
    newDiv.id = _id;
    newDiv.style.position = "absolute";
    newDiv.style.zIndex = "9999";
    newDiv.style.width = "500px";
    newDiv.style.height = "90px";
    newDiv.style.top = "150px";
    //newDiv.style.left = (parseInt(document.body.scrollWidth) - 300) / 2 + "px"; // 屏幕居中
    newDiv.style.background = "#EFEFEF";
    newDiv.style.border = "1px solid #860001";
    newDiv.style.padding = "5px";
    newDiv.innerHTML = aStr;  //*********在此处把传入的数组 _cate 赋值给弹出的新层做为显示内容,,,,
    document.body.appendChild(newDiv);
    }function closeDiv(_id){   //*******需要在鼠标离开时调用,,,关闭弹出的层,,,
        var div = docEle(_id);
        if(div)
            document.body.removeChild(div);
        return false;
    }
    </script>
    </head>


    <body>
    <script type="text/javascript"></script>     <LI id="catea" onmouseover="openNewDiv(cate1,catea);" onmouseout="closeDiv(catea)">a</LI>
            <LI id="cateb" onmouseover="openNewDiv(cate2,cateb);" onmouseout="closeDiv(catea);">b</LI>
            <LI id="catec" onmouseover="openNewDiv(cate3,cateb);" onmouseout="closeDiv(catea);">c</LI>
    </body>
    </html>