已采纳回答 / 香飘飘丶
如果我没有数错的话,你在代码的最后少了一个"}"反括号,加上即可,除此之外 This.style.height = this.offsetHeight + 16 +"px";中的this应为oSubNav也就是var中的This,下同。 附代码:<...code...>
2016-09-20
讲得清楚个78,这是零基础学的??笑话,,你是学计算机的吧,,有C的基础还是怎么样,,对于那些没基础的当然就不会像我们学计算机的这样理解的那么快,,讲话不动脑子的,,你那么聪明跑来这里学什么,,
2016-09-19
因为aLi是body中所有的li,包括二级的。就是说你在二级li上晃一下,他都会认为你是重新执行了aLi.onmouseover,流程就再走了一遍。但是在高度加20那里,高度先增加了20,然后判断,发现高度大于120了,就跳出了
解决1,从源头,只找对应的li
解决2:高度处,在判断那里,如果高度大于120了,我们就直接让高度等于120,不就得了,以后他再长,也会被这一条限制住。sub.style.height = 120+'px';
解决3:判断处,再增加前我先判断是不是大于120行不行,是的话你就停止,不是就继续。问题也就可以解决了。代码如下:
解决1,从源头,只找对应的li
解决2:高度处,在判断那里,如果高度大于120了,我们就直接让高度等于120,不就得了,以后他再长,也会被这一条限制住。sub.style.height = 120+'px';
解决3:判断处,再增加前我先判断是不是大于120行不行,是的话你就停止,不是就继续。问题也就可以解决了。代码如下:
已采纳回答 / 慕粉1462636306
课程水平伸缩菜单制作中是这么设置的,这个练习题中CSS里面的设置和水平伸缩菜单模块的CSS样式设定不一样的,不能直接套用课程的代码,我这边运行是显示不出来二级菜单的,<ul class="subNav">大小仍为120*0,高度值为0;题目CSS中设置了.subNav{ position:absolute; top:30px; left:0; width:120px; height:0; overflow:hidden},高度为0,overflow:hidden,我也是新手一枚,说的不对还请见...
2016-09-19
当鼠标滑到每一个一级菜单,首先去找这个一级菜单下的ul元素
var oSubNav=this.getElementsByTagName('ul')[0];
如果ul元素不为空,则对应的二级菜单不为空
if(oSubNav){var This=oSubNav;clearInterval(This.time);
设定计时器,每30毫秒二级菜单的显示的高度增加16像素
This.time=setInterval(function(){ This.style.height=This.offsetHeight+16+"px";
var oSubNav=this.getElementsByTagName('ul')[0];
如果ul元素不为空,则对应的二级菜单不为空
if(oSubNav){var This=oSubNav;clearInterval(This.time);
设定计时器,每30毫秒二级菜单的显示的高度增加16像素
This.time=setInterval(function(){ This.style.height=This.offsetHeight+16+"px";
已采纳回答 / 慕粉3951534
两种方法,定宽:<...code...>不定宽:<...code...>你的代码里 .a{margin:0 auto;width:100%;} 这一行没作用,虽然 a 设置为 block 了,但 a 的父元素是 li ,这样设置最多让 a 在 li 中居中,而不是 ul...
2016-09-15