<table>
  <tr onclick=menuChange(this)>
    <td>菜单一</td>
  </tr>
  <tr style="display:none">
    <td style="padding-left:12px;">子菜单一</td>
  </tr>
  <tr onclick=menuChange(this)>
    <td>菜单二</td>
  </tr>
  <tr style="display:none">
    <td style="padding-left:12px;">子菜单二</td>
  </tr>
</table><script language=javascript>
  function menuChange(obj)
  {
    obj.nextSibling.style.display=(obj.nextSibling.style.display=='none'?'block':'none');
  }
</script>难道认为这个树型菜单难吗?或者有任何一个人可以站出来说这不是一个简单的树型菜单?
我承认这很难看,但相信没有人能说我写的这几行东西他不是一个树型菜单雏形。
所以,不要要求你的程序员在面试的时候写很漂亮的东西,让他们写出基础的思路。
eg:这个树型菜单:)ps:没听过HTA并不等于说不会js,或者说,懂js并不等于一定能写好HTA。不同概念的。关键要看你怎么用人。

解决方案 »

  1.   

    最简单的,用dw生成一些特效。让应试者手工编写代码完成,对比两者代码就可以知道水平如何和知识面。
    to Naola2001(摆地摊的) “写一个简单的树形菜单” 应在一小时内完成
      

  2.   

    回复人: dkmilk(迪克牛奶) ( ) 信誉:100  2003-05-09 14:32:00  得分:0 
      就叫写一个身份证验证程序,
    请教一下,如何校验真假?如果你没有数据库的话。
      

  3.   

    身份证验证程序
    function check_idcard(icard){
    if (icard.length == 15 || icard.length == 18){
    var valid_char = "0123456789 ";
    var found = 1;
    if(icard.charAt(icard.length-1) != "X"){
    for(var i=0;i < icard.length;i++){
    found = valid_char.indexOf(icard.charAt(i));
    if(found == -1){
    return false;
    break;
    }
    }
    }else{
    for(var i=0;i < icard.length-1;i++){
    found = valid_char.indexOf(icard.charAt(i));
    if(found == -1){
    return false;
    break;
    }
    }
    }
    return true;
    }
    return false;
    }
      

  4.   

    dkmilk(迪克牛奶) 的意思是 只是位数,与生日合法就行了。不用判断身份证是否有这个号。楼上的太钻牛角尖了。
      

  5.   

    xiaone(阿笑) 写的不错呀,原来大家都写过呵,我也写过的。
      

  6.   

    出一个题,我认为是比较麻烦的,因为我做过,但是不是很难,得花点时间做一个简单服务器端控件,用户通过调用这个object就可以生成随意的输入元素
    如文本框,下拉框,通过调动class的方法指定相关参数(如长度,数据类型,小数点倍数)要求在客户端屏bi非法数据的输入(按键无效,比如,数据类型为numeric(5,2)的,就只能输入3位
    整数加2位小数的,不是输入之后再提示他,而是不需要提示,因为其他的根本输不进,
    输入时间的19:以后能输入0-5,输入其他不做任何反应,等等....),做完这个以后,以后就不用再写客户端验证函数了
      

  7.   

    xiaone(阿笑)的身份证审核程序就合我昨天写写的企业法人代码审核程序一样,仅仅是蒙那些菜鸟的。因为这些专业号码有一套自己的算法。我昨天跟公商局问的时候,要求我带上证明材料过去,才能够告诉我。但是我没有时间,今天软件已经拿走了。没有办法,只好临时来个"吓唬"菜鸟的javascript程序。使用固定的输入方式(例如长度,例如字符,例如有没有特殊字符,有几个特殊字符等)来查看用户的输入。
      

  8.   

    对不起,xiaone(阿笑),我绝对没有贬低你的意思。我仅仅是说我这种人应该努力的去知道其中的算法。
      

  9.   

    身份证生成的算法是什么?谁知道?cpp2017(慕白兄) 的思路很好。
      

  10.   

    去年的代码,:P北京      11 吉林      22 福建      35 广东    44 云南    53
    天津      12 黑龙江    23 江西      36 广西    45 西藏    54
    河北      13 上海      31 山东      37 海南    46 陕西    61
    山西      14 江苏      32 河南      41 重庆    50 甘肃    62
    内蒙古    15 浙江      33 湖北      42 四川    51 青海    63
    辽宁      21 安徽      34 湖南      43 贵州    52 宁夏    64
    新疆      65 台湾      71 香港      81 澳门    82 国外    91
    <script>
      var aCity=[];
      aCity[11]="北京"
      aCity[12]="天津"
      aCity[13]="河北"
      aCity[14]="山西"
      aCity[15]="内蒙古"
      aCity[21]="辽宁"
      aCity[22]="吉林"
      aCity[23]="黑龙江"
      aCity[31]="上海"
      aCity[32]="江苏"
      aCity[33]="浙江"
      aCity[34]="安徽"
      aCity[35]="福建"
      aCity[36]="江西"
      aCity[37]="山东"
      aCity[41]="河南"
      aCity[42]="湖北"
      aCity[43]="湖南"
      aCity[44]="广东"
      aCity[45]="广西"
      aCity[46]="海南"
      aCity[50]="重庆"
      aCity[51]="四川"
      aCity[52]="贵州"
      aCity[53]="云南"
      aCity[54]="西藏"
      aCity[61]="陕西"
      aCity[62]="甘肃"
      aCity[63]="青海"
      aCity[64]="宁夏"
      aCity[65]="新疆"
      aCity[71]="台湾"
      aCity[81]="香港"
      aCity[82]="澳门"
      aCity[91]="国外"
      
    function cidInfo(sId){
    var iSum=0
    var info=""
    if(!/^\d{17}(\d|x)$/i.test(sId))return false;
    sId=sId.replace(/x$/i,"a");
    if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地区";
    sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
    if(!checkDate(sBirthday))return "Error:非法生日";
    for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
    if(iSum%11!=1)return "Error:非法证号";
    return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
    }
    function checkDate(str){
    var d=new Date(str.replace(/-/g,"/"))
    document.write(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate());
    return str==(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate());
    }document.write(cidInfo("380524198002300016"));
    document.write(cidInfo("340524198002300019"))
    document.write(cidInfo("340524197711111111"))
    document.write(cidInfo("34052419800101001x"));function trans15to18(sId){
      var cTable = new Array('1','0','x','9','8','7','6','5','4','3','2')
      var iSum   = 0
      
      if (15 == sId.length){
        sId = sId.substr(0,6) + 19 + sId.substr(6) + "0"
      } 
      
      if(18 != sId.length){
        return ""
      }
      
      for(var i = 17;i > 0;i --){
        iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),10)
      }
      return sId.substr(0,sId.length - 1) + cTable[iSum % 11]}document.write(trans15to18("340524800101001"));
    document.write(trans15to18("340524800230001"));
    </script>
      

  11.   

    减了减肥,:P<script>
    var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}
      
    function cidInfo(sId){
    var iSum=0
    var info=""
    if(!/^\d{17}(\d|x)$/i.test(sId))return false;
    sId=sId.replace(/x$/i,"a");
    if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地区";
    sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
    var d=new Date(sBirthday.replace(/-/g,"/"))
    if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";
    for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
    if(iSum%11!=1)return "Error:非法证号";
    return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
    }document.write(cidInfo("380524198002300016"),"<br>");
    document.write(cidInfo("340524198002300019"),"<br>")
    document.write(cidInfo("340524197711111111"),"<br>")
    document.write(cidInfo("34052419800101001x"),"<br>");
    </script>
      

  12.   

    for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)关键算法出来了……………………………………
    爽!
      

  13.   

    让他/她写个PageList 或 ScrollBar
      

  14.   

    dkmilk(迪克牛奶) 的意思是 只是位数,与生日合法就行了。不用判断身份证是否有这个号。楼上的太钻牛角尖了。
    我的意思就是这意思。
    有x结束的18位,大家要注意
      

  15.   

    javascript很重要,用好了可以很大程度的提高程序反应速度
      

  16.   

    JScript很重要考一考 有必要不过我觉得没必要考什么特效.
      

  17.   

    我用的是最简单的树形菜单。呵呵。
    可是我也不懂htc<script>
    function __(e1,e2,x)
    {
    e1.src='pic/+.gif';
    e2.src='pic/close.gif';
    x = "tr_" + x;
    var obj = document.all.main.rows;
    for(var i=0;i<obj.length;i++){
    if(obj[i].id.indexOf(x)!=-1){obj[i].style.display='none';}
    }
    }
    function ___(e1,e2,x)
    {
    e1.src='pic/-.gif';
    e2.src='pic/open.gif';
    x = "tr_" + x;
    var obj = document.all.main.rows;
    for(var i=0;i<obj.length;i++){
    if(obj[i].id.indexOf(x)!=-1){obj[i].style.display='inline';}
    }
    }
    function _(e1,e2,x)
    {
    if(String(e1.src).indexOf("+.gif")!=-1){___(e1,e2,x);}else{__(e1,e2,x);}
    }
    function __wth(id,tid,url,title){
        document.write("<TR style='display:inline;'><TH  height=24 colspan=2><img src=pic/+.gif align=absbottom style=cursor:hand; id="+id+" onclick=\"_(this,this.parentElement.children[1],"+tid+");\" /><img src=pic/close.gif align=absbottom />&nbsp;<a href="+url+" style='color:#666666;'>"+title+"</a></TH></tr>");
    }function __wtr(id,url,title){
    document.write("<tr style='display:none;' id="+id+"><td style='padding-left:3px;'><img src='pic/blank.gif' align=absbottom></td><td align=left style='padding-left:0px;text-align:left;'><a href=" + url + " title=" + title +">" + title + "</a></td></tr>");
    }
    function window.onerror(){
    return true;
    }
    //document.oncontextmenu=new Function('event.returnValue=false;');
    document.onselectstart=new Function('event.returnValue=false;');
    </script>
    <base target="forum_main" /><body style="overflow-x:hidden;">
    <table border=0 cellpadding=0 cellspacing=0 style="border:1px solid #E2EEFC;width:148px;height:*" id="main">
    <tr><td colspan=3 width=100% align=center><a href=/ style='text-align:center'><img src=show_img.asp border=0 align=center></a><br></td></tr>
    <script>
    __wth('img_0','','indexlist.asp','论坛首页');
    __wth('img_1',0,'usermanager.asp','个人工具');
    __wtr('tr_0_1','mymodify.asp','资料修改');
    __wtr('tr_0_2','modifypsw.asp','密码修改');
    __wtr('tr_0_3','usersms.asp','短信服务');
    __wtr('tr_0_4','http://www.5inet.net/communion/wyqq/','论坛信使');
    __wtr('tr_0_5','http://www.5inet.net/communion/wyqq/vod.asp','无垠影院');
    __wtr('tr_0_6','favlist.asp','我的收藏');
    __wtr('tr_0_7','friendlist.asp','我的好友');
    __wtr('tr_0_8','javascript:openScript(\'messanger.asp?action=new\',500,400)','发短信');
    __wtr('tr_0_9','topicwithme.asp?s=2','发表的主题');
    __wtr('tr_0_10','topicwithme.asp?s=1','参与的主题');
    __wth('img_1',1,'list_class.asp?class=6','站务处理');
    __wtr('tr_1_1','/bbs/list.asp?boardid=41','版主会议室');
    __wtr('tr_1_2','/bbs/list.asp?boardid=14','域名空间服务');
    __wtr('tr_1_3','/bbs/list.asp?boardid=11','论坛事务');
    __wth('img_2',2,'list_class.asp?class=3','游戏天地');
    __wtr('tr_2_4','/bbs/list.asp?boardid=19','游戏动漫');
    __wth('img_3',3,'list_class.asp?class=4','应用天地');
    __wtr('tr_3_5','/bbs/list.asp?boardid=44','资源搜刮');
    __wtr('tr_3_6','/bbs/list.asp?boardid=40','连续剧交流');
    __wtr('tr_3_7','/bbs/list.asp?boardid=39','音乐精品广场');
    __wtr('tr_3_8','/bbs/list.asp?boardid=38','上传管理');
    __wtr('tr_3_9','/bbs/list.asp?boardid=24','美图专贴区');
    __wtr('tr_3_10','/bbs/list.asp?boardid=21','影视欣赏');
    __wtr('tr_3_11','/bbs/list.asp?boardid=8','软件交流');
    __wtr('tr_3_12','/bbs/list.asp?boardid=7','FTP资源交流');
    __wth('img_4',4,'list_class.asp?class=1','休闲论坛');
    __wtr('tr_4_13','/bbs/list.asp?boardid=42','时事点评');
    __wtr('tr_4_14','/bbs/list.asp?boardid=23','娱乐开心总动员');
    __wtr('tr_4_15','/bbs/list.asp?boardid=1','灌水乐园');
    __wth('img_5',5,'list_class.asp?class=9','文学频道');
    __wtr('tr_5_16','/bbs/list.asp?boardid=43','诗歌文学');
    __wtr('tr_5_17','/bbs/list.asp?boardid=22','情感交流');
    __wtr('tr_5_18','/bbs/list.asp?boardid=2','文学殿堂');
    __wth('img_6',6,'list_class.asp?class=7','网络经济');
    __wtr('tr_6_19','/bbs/list.asp?boardid=17','投机中国');
    __wtr('tr_6_20','/bbs/list.asp?boardid=12','电子商务');
    __wth('img_7',7,'list_class.asp?class=2','技术论坛');
    __wtr('tr_7_21','/bbs/list.asp?boardid=32','Linux、Unix系列');
    __wtr('tr_7_22','/bbs/list.asp?boardid=28','无垠技术精华区');
    __wtr('tr_7_23','/bbs/list.asp?boardid=18','IT认证');
    __wtr('tr_7_24','/bbs/list.asp?boardid=13','硬件沙龙');
    __wtr('tr_7_25','/bbs/list.asp?boardid=6','网络安全');
    __wtr('tr_7_26','/bbs/list.asp?boardid=10','FLASH程序应用');
    __wtr('tr_7_27','/bbs/list.asp?boardid=5','设计');
    __wtr('tr_7_28','/bbs/list.asp?boardid=4','代理和防火墙');
    __wtr('tr_7_29','/bbs/list.asp?boardid=3','WINDOWS系列');
    __wth('img_8',8,'list_class.asp?class=8','合作论坛区');
    __wtr('tr_8_30','/bbs/list.asp?boardid=37','心情茶语');
    __wtr('tr_8_31','/bbs/list.asp?boardid=36','紫月IT');
    __wtr('tr_8_32','/bbs/list.asp?boardid=27','冰蓝论坛');
    __wtr('tr_8_33','/bbs/list.asp?boardid=26','HRM论坛');
    __wtr('tr_8_34','/bbs/list.asp?boardid=25','『 第一人称射击----反恐精英讨论区----*[NEW--dKs]*战队论坛』');
    __wth('img_9',9,'list_class.asp?class=5','程序员之家');
    __wtr('tr_9_35','/bbs/list.asp?boardid=35','.NET技术应用');
    __wtr('tr_9_36','/bbs/list.asp?boardid=34','数据库系列');
    __wtr('tr_9_37','/bbs/list.asp?boardid=33','DELPHI语言之家(冰蓝)');
    __wtr('tr_9_38','/bbs/list.asp?boardid=31','JAVA 语言系列');
    __wtr('tr_9_39','/bbs/list.asp?boardid=30','BASIC语言系列');
    __wtr('tr_9_40','/bbs/list.asp?boardid=29','C语言系列');
    __wtr('tr_9_41','/bbs/list.asp?boardid=9','HTML/DHTML/JS/VBS/XML');document.images[3].click();
    </script>
    </table>
      

  18.   

    原文件:
    http://www.5inet.net/bbs/leftbar.asp
    也还过的去吧。哈哈。
    虽然思路很傻