已采纳回答 / 慕后端9334592
这个和水平伸缩的那个是相似的,只不过水平的改变的是宽度,这个改变的是高度。我们让一级菜单水平排列,让二级菜单垂直排列,并且将二级菜单隐藏,绝对定位到所选菜单之下。之后我们就开始用js制作鼠标移入移出时发生的动画效果,鼠标移入时,我们想让二级菜单有一定的速度缓慢下拉显示,并且向下延伸的高度是一定的,延伸动作和速度控制都可以用setInterval来实现,延伸可以写一个匿名函数,让他获取当前高度并改变成我们想要的高度,这个时候就必须有个判断,当高度达到一定的值就要停止延伸了;然后设定一个速度就ok了。鼠标移出...
2016-08-05
已采纳回答 / 慕盖茨4878874
1.首先用一个aLi变量承载<li>标签(getElementsByTagName('li')就是指li标签)。 2. for(var i=0; i<aLi.length; i++){};就是从第一个<li>标签开始遍历<li>标签3. aLi[i].onmouseover=function(){};查看你是否用鼠标覆盖其中的一级标签4. oSubNav = this.getElementsByTagName('ul')[0];用变量 oSubN...
2016-07-30
已采纳回答 / 荔枝3668348
格式化页面*表示所有元素因为某些元素如 body、 li、 p 这是有默认的margin值,这样就不方便我们精确控制,所以我们干脆就先把所有元素的margin、padding先设置为0,以后根据需要再单独设置某一项的margin和padding数值 。如果你一开始不这样设置也可以,那就是在需要的地方加上就是了比如<p style="margin-top:0px"></p><...code...>
2016-07-28
已采纳回答 / 装完B就跑_真刺激
当把宽度设置为100的时候,li的宽度也是100,而ul是容器,所以一行只能容下一行,当把ul设置更宽的时候,才可以容纳更多,当不设置宽度的时候,ul是块级元素,跟从父类,也就是浏览器,独占一行. (你给ul设置个背景颜色 就会很清楚了)
2016-07-22
已采纳回答 / 猫子0712
可以把时间间隔30毫秒调到100毫秒试试其实抖动效果是因为当你的鼠标离开左边的时候,触发了左边盒子的onmouseout事件,与此同时,鼠标移到了右边,也就是触发了右边盒子的onmouseover事件,这两个事件同时进行,也就是左边盒子往回缩的同时,右边的盒子在伸长,但是左边盒子往回缩会造成右边盒子往左移动,于是右边的盒子同时在进行左移和向右伸长,而且频率很快(30毫秒),看起来就像是在抖动一样
2016-07-11