function $(id) {
    return document.getElementById(id);
}function showMenu (baseID, divID) {
    baseID = $(baseID);
    divID  = $(divID);
    if (showMenu.timer) clearTimeout(showMenu.timer);
hideCur();
    divID.style.display = 'block';
showMenu.curr = divID;    if (! divID.isCreate) {
        divID.isCreate = true;
        //divID.timer = 0;
        divID.onmouseover = function () {
            if (showMenu.timer) clearTimeout(showMenu.timer);
hideCur();
            divID.style.display = 'block';
        };        function hide () {
            showMenu.timer = setTimeout(function () {divID.style.display = 'none';}, 1000);
        }        divID.onmouseout = hide;
        baseID.onmouseout = hide;
    }
function hideCur () {
showMenu.curr && (showMenu.curr.style.display = 'none');
}
}
最好能每句都加上注释,谢谢

解决方案 »

  1.   


    function $(id) {
      return document.getElementById(id);//返回对应id的对象
    }function showMenu (baseID, divID) {
      baseID = $(baseID);
      divID = $(divID);//获取对象
      if (showMenu.timer) clearTimeout(showMenu.timer);//如果showMenu.timer为FALSE,清楚定时器
    hideCur();
      divID.style.display = 'block';//隐藏divID
    showMenu.curr = divID;  if (! divID.isCreate) {//如果divID未创建,则create
      divID.isCreate = true;
      //divID.timer = 0;
      divID.onmouseover = function () {//添加事件,如果鼠标在divID上的时候触发
      if (showMenu.timer) clearTimeout(showMenu.timer);
    hideCur();//隐藏鼠标
      divID.style.display = 'block';
      };  function hide () {//设置定时器,隔1s执行语句divID.style.display = 'none'
      showMenu.timer = setTimeout(function () {divID.style.display = 'none';}, 1000);
      }  divID.onmouseout = hide;
      baseID.onmouseout = hide;//添加事件
      }
    function hideCur () {//如果showMenu.curr为真,则继续执行showMenu.curr.style.display = 'none';为FALSE,后面的不执行
    showMenu.curr && (showMenu.curr.style.display = 'none');
    }
    }