为了账号安全,请及时绑定邮箱和手机立即绑定

导航条菜单的制作

江老实 Web前端工程师
难度初级
时长23分
学习人数
综合评分9.53
1004人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.4 逻辑清晰
1.offsetWidth属性可以返回对象的padding+border+width属性值之和,style.width返回值就是定义的width属性值。

2.offsetWidth属性仅是可读属性,而style.width是可读写的。
3.offsetWidth属性返回值是整数,而style.width的返回值是字符串。
4.style.width仅能返回以style方式定义的内部样式表的width属性值。
任务一:清除计时器:clearInterval
任务二:设定计时器:setInterval
任务三;a标签宽度:offsetwidth
菜单<li>浮动后,<li>脱离文档流,导致<ul>将失去高度和宽度;如果需要对<ul>进行整体背景设置,首先要给<ul>定义宽、高
懵逼了。。
border-radius:6px 6px 0 0;
if(This.offsetHeight<=10){ clearInterval(This.time); } //若该操作对象的补偿高度已变得小于10px,那么就清除该对象的定时任务,即使其停止
如果没有为元素设置高度,obj.offsetHeight会根据内容获取高度值,而obj.style.height会返回undefind
This.style.height = 0 + "px"; //把该操作对象ul的高度设为 0px ,那么由于其 class=“subNav” 的设置——overflow:hidden; ,使得该对象包括里面的内容得以隐藏
This.time = setInterval(function(){},30); //为该操作对象设置定时任务,任务为function(){},在30毫秒后执行
clearInterval(This.time); //对该操作对象的时间属性复位
var This = subNav; //为了不影响本来的元素,复制一个一样的元素进行操作
if(subNav){} //若获取二级菜单成功则执行块里面的代码
var subNav = this.getElementsByTagName('ul')[0]; //获取li元素下的第一个ul元素,即获取二级菜单
//鼠标离开菜单,二级菜单动画收缩起来。
aLi[i].onmouseout=function(){
var subNav = this.getElementsByTagName('ul')[0];
if(subNav){
var This = subNav;
clearInterval(This.time);
This.time = setInterval(function(){
This.style.height = 0 + "px";
if(This.offsetHeight>=120){
clearInterval(This.time);
}
},30)
}
border-radius IE9下不支持,一般写法如下:
-moz-border-radius:5px;
-webkit-border-radius:5px
border-radius:5px;
视频中样式text-align:center结尾没有写分号,不太好的习惯
课程须知
1.熟悉html知识,尤其对<ul>和<a>比较熟悉; 2.对css样式比较了解; 3.掌握JavaScript和jQuery基础知识。
老师告诉你能学到什么?
轻松制作出各种形式的网站导航条菜单

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消