哈,lz就是昨天晚上在群里问问题的那个人吧?
我就是3.14......,onblur是不对的,onblur是失去输入焦点时才会触发的,
建议多看看书,不一定非要急着做出东西,理解是关键

解决方案 »

  1.   

    还有就是,你昨晚是想实现点击body隐藏你那个层是吧?
    将就你代码改了下,ie, ff下自己去改了
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text ml; charset=utf-8">
    <title>test </title>
    <style type="text/css">
    div.year{
    border:1px solid #EEB422;
    background-color:#EEE685;
    padding-top:5px;
    padding-bottom:5px;
    width:80px;
    left:100px;
    top:300px;
    position:absolute;
    text-align:center;
    }
    div.pop_year{
    border:1px solid #EEB422;
    background-color:#EEE685;
    padding-top:5px;
    padding-bottom:5px;
    width:80px;
    position:absolute;
    left:0px;
    top:0px;
    z-index:1;
    display:none;
    text-align:center;
    }
    div.pop_year_one{
    background-color:#EEE685;
    padding-top:5px;
    padding-bottom:5px;
    }
    </style>
    </head><body>
    <script language="javascript" type="text/javascript">
    function popup_year()
    {
    obj_year=document.getElementById("id_year");
    obj_popYear=document.getElementById("id_pop_year");
    year_Rect=obj_year.getBoundingClientRect();
    obj_popYear.style.left=year_Rect.left+"px";
    obj_popYear.style.top=(year_Rect.top-5*obj_year.offsetHeight)+"px";
    obj_popYear.style.width=obj_year.offsetWidth;
    obj_popYear.style.height=11*obj_year.offsetHeight;
    obj_popYear.style.display="block";
    //document.body.all["id_pop_year"].onblur=hidePop();}
    function hidePop() {
    if(event.srcElement.tagName.toLowerCase()=="body") {
    if(document.getElementById("id_pop_year").style.display=="block") {
    document.getElementById("id_pop_year").style.display="none";
    }
    }
    }
    function selected(obj)
    {
    obj.style.backgroundColor="#FFD700";
    obj.style.cursor="pointer";
    }
    function unselected(obj)
    {
    obj.style.backgroundColor="";
    }
    function testSelect()
    {
    document.getElementById("id_test").style.backgroundColor="#FFD700";
    document.getElementById("id_test").onMouseOut=testUnselect();
    }
    function testUnselect()
    {
    document.getElementById("id_test").style.backgroundColor="";
    }document.body.onclick=function() {
    hidePop();
    }</script>
    <div>
    <div class="year" onClick="popup_year()" id="id_year">2008 </div>
    <div class="pop_year" id="id_pop_year" onMouseOver="javascript:this.style.display='block'">
    <div class="pop_year_one" id="id_pop_year1" onMouseOver="selected(this)" onMouseOut="unselected(this)">2003 </div>
    <div class="pop_year_one" id="id_pop_year2" onMouseOver="selected(this)" onMouseOut="unselected(this)">2004 </div>
    <div class="pop_year_one" id="id_pop_year3" onMouseOver="selected(this)" onMouseOut="unselected(this)">2005 </div>
    <div class="pop_year_one" id="id_pop_year4" onMouseOver="selected(this)" onMouseOut="unselected(this)">2006 </div>
    <div class="pop_year_one" id="id_pop_year5" onMouseOver="selected(this)" onMouseOut="unselected(this)">2007 </div>
    <div class="pop_year_one" id="id_pop_year_center" onMouseOver="selected(this)" onMouseOut="unselected(this)">2008 </div>
    <div class="pop_year_one" id="id_pop_year6" onMouseOver="selected(this)" onMouseOut="unselected(this)">2009 </div>
    <div class="pop_year_one" id="id_pop_year7" onMouseOver="selected(this)" onMouseOut="unselected(this)">2010 </div>
    <div class="pop_year_one" id="id_pop_year8" onMouseOver="selected(this)" onMouseOut="unselected(this)">2011 </div>
    <div class="pop_year_one" id="id_pop_year9" onMouseOver="selected(this)" onMouseOut="unselected(this)">2012 </div>
    <div class="pop_year_one" id="id_pop_year10" onMouseOver="selected(this)" onMouseOut="unselected(this)">2013 </div>
    </div></div>
    </body>
    <html>