以下代码可以实现简单的:
<html>
<head>
<title>求职主页</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}function MM_timelineStop(tmLnName) { //v1.2
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  if (tmLnName == null)  //stop all
    for (var i=0; i<document.MM_Time.length; i++) document.MM_Time[i].ID = null;
  else document.MM_Time[tmLnName].ID = null; //stop one
}function MM_timelineGoto(tmLnName, fNew, numGotos) { //v2.0
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,lastKeyFr,propNum,theObj;
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  tmLn = document.MM_Time[tmLnName];
  if (numGotos != null)
    if (tmLn.gotoCount == null) tmLn.gotoCount = 1;
    else if (tmLn.gotoCount++ >= numGotos) {tmLn.gotoCount=0; return}
  jmpFwd = (fNew > tmLn.curFrame);
  for (i = 0; i < tmLn.length; i++) {
    sprite = (jmpFwd)? tmLn[i] : tmLn[(tmLn.length-1)-i]; //count bkwds if jumping back
    if (sprite.charAt(0) == "s") {
      numKeyFr = sprite.keyFrames.length;
      firstKeyFr = sprite.keyFrames[0];
      lastKeyFr = sprite.keyFrames[numKeyFr - 1];
      if ((jmpFwd && fNew<firstKeyFr) || (!jmpFwd && lastKeyFr<fNew)) continue; //skip if untouchd
      for (keyFrm=1; keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]; keyFrm++);
      for (j=0; j<sprite.values.length; j++) {
        props = sprite.values[j];
        if (numKeyFr == props.length) propNum = keyFrm-1 //keyframes only
        else propNum = Math.min(Math.max(0,fNew-firstKeyFr),props.length-1); //or keep in legal range
        if (sprite.obj != null) {
          if (props.prop2 == null) sprite.obj[props.prop] = props[propNum];
          else        sprite.obj[props.prop2][props.prop] = props[propNum];
      } }
    } else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
  }
  tmLn.curFrame = fNew;
  if (tmLn.ID == 0) eval('MM_timelinePlay(tmLnName)');
}function MM_timelinePlay(tmLnName, myID) { //v1.2
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,propNum,theObj,firstTime=false;
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  tmLn = document.MM_Time[tmLnName];
  if (myID == null) { myID = ++tmLn.ID; firstTime=true;}//if new call, incr ID
  if (myID == tmLn.ID) { //if Im newest
    setTimeout('MM_timelinePlay("'+tmLnName+'",'+myID+')',tmLn.delay);
    fNew = ++tmLn.curFrame;
    for (i=0; i<tmLn.length; i++) {
      sprite = tmLn[i];
      if (sprite.charAt(0) == 's') {
        if (sprite.obj) {
          numKeyFr = sprite.keyFrames.length; firstKeyFr = sprite.keyFrames[0];
          if (fNew >= firstKeyFr && fNew <= sprite.keyFrames[numKeyFr-1]) {//in range
            keyFrm=1;
            for (j=0; j<sprite.values.length; j++) {
              props = sprite.values[j]; 
              if (numKeyFr != props.length) {
                if (props.prop2 == null) sprite.obj[props.prop] = props[fNew-firstKeyFr];
                else        sprite.obj[props.prop2][props.prop] = props[fNew-firstKeyFr];
              } else {
                while (keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]) keyFrm++;
                if (firstTime || fNew==sprite.keyFrames[keyFrm-1]) {
                  if (props.prop2 == null) sprite.obj[props.prop] = props[keyFrm-1];
                  else        sprite.obj[props.prop2][props.prop] = props[keyFrm-1];
        } } } } }
      } else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
      if (fNew > tmLn.lastFrame) tmLn.ID = 0;
  } }
}
function MM_initTimelines() { //v4.0
    //MM_initTimelines() Copyright 1997 Macromedia, Inc. All rights reserved.
    var ns = navigator.appName == "Netscape";
    var ns4 = (ns && parseInt(navigator.appVersion) == 4);
    var ns5 = (ns && parseInt(navigator.appVersion) > 4);
    document.MM_Time = new Array(1);
    document.MM_Time[0] = new Array(1);
    document.MM_Time["Timeline1"] = document.MM_Time[0];
    document.MM_Time[0].MM_Name = "Timeline1";
    document.MM_Time[0].fps = 15;
    document.MM_Time[0][0] = new String("behavior");
    document.MM_Time[0][0].frame = 6;
    document.MM_Time[0][0].value = "MM_showHideLayers('child1','','hide')";
    document.MM_Time[0].lastFrame = 6;
    for (i=0; i<document.MM_Time.length; i++) {
        document.MM_Time[i].ID = null;
        document.MM_Time[i].curFrame = 0;
        document.MM_Time[i].delay = 1000/document.MM_Time[i].fps;
    }
}
//-->
</script>
<div id="main1" style="position:absolute; left:13px; top:98px; width:75px; height:15px; z-index:1; background-color: #3399FF; layer-background-color: #3399FF; border: 1px none #000000"> 
    <div align="center"><a href="#" onMouseOver="MM_timelineStop('Timeline1');MM_showHideLayers('child1','','show')" onMouseOut="MM_timelineGoto('Timeline1','1');MM_timelinePlay('Timeline1')"><font color="#FFFFFF" size="3">求职信息</font></a></div>
  </div>
  <div id="child1" style="position:absolute; left:14px; top:117px; width:74px; height:19px; z-index:2; background-color: #3399FF; layer-background-color: #3399FF; border: 1px none #000000; visibility: hidden"> 
    <table width="100%" border="0">
      <tr> 
        <td align="center" valign="middle"><a href="#" onMouseOver="MM_timelineStop('Timeline1')" onMouseOut="MM_timelineGoto('Timeline1','1');MM_timelinePlay('Timeline1')" target="_blank" title=看看我的个人介绍吧!><font color="#FFFFFF">我的简介</font></a></td>
      </tr>
      <tr> 
        <td align="center" valign="middle"><a href="#" onMouseOver="MM_timelineStop('Timeline1')" onMouseOut="MM_timelineGoto('Timeline1','1');MM_timelinePlay('Timeline1')" target="_blank" title=看看我的求职信吧!><font color="#FFFFFF">我的求职</font></a></td>
      </tr>
      <tr> 
        <td align="center" valign="top"><a href="#" onMouseOver="MM_timelineStop('Timeline1')" onMouseOut="MM_timelineGoto('Timeline1','1');MM_timelinePlay('Timeline1')" target="_blank" title=我的更多信息!><font color="#FFFFFF">其他介绍</font></a></td>
      </tr>
    </table>
  </div>
</body>
</html>

解决方案 »

  1.   

    http://www.jspsmart.com/
    下一个jspSmartMenu这样的东东
    很好用!
    看看它的原码,你会更清楚了!
      

  2.   

    <table><tr><td>&nbsp;</td><td>

    <div id=DivInsertMenu style="width:85px"></div> <link rel="stylesheet" href="/Menu/expert_style.css" >
    <script src="/Menu/lostinet_HTMLTree.js"></script>
    <script>
    function Option_Menu()
    {
    var obj=
    {
    "point":1,
    "direction":4,
    "open_click":"false",
    "open_dblclick":"false",
    "open_contextmenu":"false",
    "open_mouseover":"true",
    "open_closeclick":"false",
    "close_openclick":"false",
    "close_click":"false",
    "close_dblclick":"false",
    "close_contextmenu":"false",
    "close_auto":"true",
    "close_mouseout":"true",
    "force_otherclose":"true",
    "force_childrenclose":"true"
    };
    return ObjectToString(obj);
    }
    function OnExpertMenuDataReadyStateChange()
    {
    if(typeof(ExpertXML)=="undefined")return;
    if(ExpertXSL.XMLDocument.readyState<4||ExpertXML.XMLDocument.readyState<4)
    return;
    var xml=ExpertXML.XMLDocument;
    var xsl=ExpertXSL.XMLDocument;
    var html="";
    try{
    html=xml.transformNode(xsl);
    }
    catch(x){
    return;
    }
    DivInsertMenu.insertAdjacentHTML("BeforeEnd",html);
    Lostinet_HTMLTree_Scan(DivInsertMenu);
    }
    </script>
    <xml id=ExpertXSL onreadystatechange="OnExpertMenuDataReadyStateChange()" src="/Menu/Expert_xsl.xsl"></xml>
    <xml id=ExpertXML onreadystatechange="OnExpertMenuDataReadyStateChange()" src="/Menu/Expert_xml.xml"></xml> </td><td>&nbsp;</td>
    </tr></table>
    </td>
    </tr>
                    <tr> 
                      <td height="10"></td>
                    </tr>
                    <tr> 
                      <td><img src="/Expert/images/jspd_zjmz_hotl_new.gif" width="150" height="25"></td>
                    </tr>
                    <tr>
                      <td height="5"></td>
                    </tr>
    <tr><td><img src=/images/1d.GIF width=19 height=15>你还没有设置自己感兴趣的论坛<br></td></tr>
    <tr><td><img src="/images/1d.GIF" width="19" height="15"><a href="/Expert/Setting/Rooms/Select_Room.asp">设置感兴趣论坛
    </a>
    </td></tr>                
                    <tr> 
                      <td height="10"></td>
                    </tr>              </table>
      

  3.   

    jspSmart你下了吗?
    写好xml文件,一切OK!
      

  4.   

    你可以到.   www.lostinet.com 去看看.因为这个是他做的.     http://www.lostinet.com/
         http://www.csdn.net/Develop/article/13%5C13571.shtm