window.onload=function(){
var aLi = document.getElementsByTagName('li'),
subNav = null;
[].forEach.call(aLi,function(e){
e.onmouseover = function(){
subNav = this.getElementsByClassName('subNav');
if (subNav && subNav.length >0)
subNav[0].style.overflow ='visible';
}
var aLi = document.getElementsByTagName('li'),
subNav = null;
[].forEach.call(aLi,function(e){
e.onmouseover = function(){
subNav = this.getElementsByClassName('subNav');
if (subNav && subNav.length >0)
subNav[0].style.overflow ='visible';
}
最赞回答 / iamjessie
我已经弄明白了,我做了个实验,如果不先clearInterval,当你快速在导航的一个菜单上移上移下时,会出现闪烁(就是不停地+8 -8交替),包括本节第六章最后的编程练习,是制作下拉菜单,菜单宽度从0加到120,每5ms增加4,在停止增加前,需要120/4 *5=150ms 如果鼠标移上菜单很快(150ms)之内移了下来,就会触发鼠标移开事件,即每隔5ms减少4,这时候就会出现增加减少同时进行的情况,导致子菜单长度不变了,但是却不停地闪烁,由于此时既不能增到120,又不能减到0,所以两个if clear...
2016-01-17
然而现在的CSS3只需要transition和把width改成你需要的宽度就行了,前端更新的很快啊,同志还需努力,革命尚未成功!
2016-01-16
padding-top:10px; margin-top:-10px; 实现了垂直高度变化,但文字没有垂直居中
height:40px;line-height:40px;margin-top:-10px:所以还是使用老师的方法比较好。先保证文字居中,再向上移动增加出的px
height:40px;line-height:40px;margin-top:-10px:所以还是使用老师的方法比较好。先保证文字居中,再向上移动增加出的px
2016-01-16
已采纳回答 / whosyourdaddy1994
首先 移动背景图片不能用margin 假如说 你给一个DIV设置了background属性的话 就好比 DIV是一个桌子 background就是桌子上的桌布如果用margin 不是移动了桌布 而是移动了桌子 桌子移动的话 桌布也跟这桌子移动了所以产生的效果就是 容器位置发生改变 背景不变改变图片位置 可以用background:url(123.png) 0 0 n-repeat;上面的两个0 就分别代表了X和Y的位置 你可以把他们改变成10px 和10px 一点点改变着调试 瞬间就知道了
2016-01-15