動畫效果是實現(xiàn)了,但為什么console臺發(fā)生了這樣的一個錯誤呢?
我有2個問題一直搞不清想請教一下大學
動畫效果是實現(xiàn)了,但為什么console臺發(fā)生了一個錯誤
在setTimeout("AddH('"+id+"')",10);中的引號為什么這樣寫呢?
<style?type="text/css"> ????????body{ ????????????behavior:url(csshover.htc); ????????} ????????*{margin:?0;padding:?0;} ????????.top-nav{font-size:?14px;font-weight:?bold;list-style:?none;} ????????.top-nav?li{float:?left;margin-right:?1px;} ????????.top-nav?li?a{line-height:?34px;text-decoration:?none;background-color:?#3f240e;color:?#fff;display:?block;width:?80px;text-align:?center;} ????????.top-nav?ul{list-style:?none;display:?none;padding:?0;position:?absolute;height:?0;overflow:?hidden;} ????????.top-nav?li?a:hover{background:?url(img/slide.png)?0?0?repeat-x;} ????????.note{color:?#3f240e;display:?block;background:?url(img/slide.png)?0?0?repeat-x;} ????????.corner{display:?block;height:?11px;background:?url(img/bird.png)?31px?0?no-repeat;} ????????#menuUL{ ????????????height:?0; ????????????overflow:?hidden; ????????} ????</style> ????<script?type="text/javascript"> ????????window.onload=function(){ ????????????var?Lis?=?document.getElementsByTagName('li'); ????????????var?timer ????????????for?(var?i?=?0;?i?<?Lis.length;?i++)?{ ????????????????Lis[i].onmouseover?=?function(){ ????????????????????var?u?=?this.getElementsByTagName("ul")[0]; ????????????????????if(u?!=?undefined){ ????????????????????????u.style.display='block'; ????????????????????????AddH(u.id); ????????????????????} ????????????????} ????????????????Lis[i].onmouseleave?=?function(){ ????????????????????var?u?=?this.getElementsByTagName("ul")[0]; ????????????????????if(u?!=?undefined){ ????????????????????????SubH(u.id); ????????????????????} ????????????????} ????????????}; ????????} ????????function?AddH?(id)?{ ????????????//?body... ????????????var?ulList?=?document.getElementById(id); ????????????var?h=?ulList.offsetHeight; ????????????h+=1; ????????????if?(h<=42)?{ ????????????????ulList.style.height?=?h+"px"; ????????????????timer?=?setTimeout("AddH('"+id+"')",10); ????????????}?else{ ????????????????return; ????????????}; ????????} ????????function?SubH(id)?{ ????????????var?ulList?=?document.getElementById(id); ????????????var?h=?ulList.offsetHeight; ????????????clearTimeout(timer); ????????????h-=1; ????????????if?(h>0)?{ ????????????????ulList.style.height?=?h+"px"; ????????????????timer?=?setTimeout("SubH('"+id+"')",10); ????????????}?else{ ????????????????return; ????????????}; ????????} ????</script> </head> <body> <ul?class="top-nav"> ????<li><a?href=""><span>首頁</span></a></li> ????<li><a?href="">學習中心</a> ????????<ul?id="menuUL"> ????????????<span></span> ????????????<li><a?href="">前端課程</a></li> ????????????<li><a?href="">手機開發(fā)</a></li> ????????????<li><a?href="">后臺編程</a></li> ????????</ul> ????</li> ????<li><a?href="">經(jīng)典案例</a></li> ????<li><a?href="">關(guān)于我們</a></li> </ul> </body>
2017-08-07
就是為了給傳過來的 menuUL加個引號:AddH('menuUL'),單引號或雙引號都行。使用多個引號時,就會交互使用的,都是引號的作用。剛我試了下,menuUL不加引號,出不來二級菜單。
2017-08-07
剛就看到一個問題。setTimeout("AddH('"+id+"')",10);括號中的其實就是這樣的:AddH('是一個字符串,')是另一個字符串,中間加的是一個變量,變量名叫id。如果傳的id是menu,就是setTimeout(AddH('menu'),10);
2017-08-07
因為你桌面上沒有一個叫img且里面包含slide.png圖片的文件夾。