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

导航条菜单的制作

江老实 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>定义宽、高
懵逼了。。

最新回答 / shanwei1223
if(This.offsetHeight<=0){     //This.offsetHeight=0 ;    clearInterval(This.time) ;}

已采纳回答 / 陈微语
图片的样式你可以看前面的视频,有说明。大概就是一个120px * 60px 的图片,上面30px是灰色的,下面30px是橘黄色的。把这张图片设为背景的话,默认background-position:0 0;也就是距离左边0px,距离上面0px ,刚好是对应图片的灰色区域 ;设置background-position:0, -30px ;就是距离左边0px ,距离上面-30px(图片整体上移30px) ,所以你看到的背景就变成橘黄色咯。

已采纳回答 / DQJ俊逸
不是由于你设置了宽他就换行了 是你设置了足够长的宽他才换行的 你有5个li,每个li的width是100px 也就是说你ul的width小于500px的时候他就会被挤下来 你没给ul设置width的时候 他就是100%,默认是父元素的 如果他的向上每一个父元素都没有设置 就是浏览器的width 所以当你缩小窗口的时候 也就改变了ul的width,不够宽就被挤下来了
border-radius:6px 6px 0 0;
if(This.offsetHeight&lt;=10){ clearInterval(This.time); } //若该操作对象的补偿高度已变得小于10px,那么就清除该对象的定时任务,即使其停止
如果没有为元素设置高度,obj.offsetHeight会根据内容获取高度值,而obj.style.height会返回undefind
This.style.height = 0 + &quot;px&quot;; //把该操作对象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(&#039;ul&#039;)[0]; //获取li元素下的第一个ul元素,即获取二级菜单
课程须知
1.熟悉html知识,尤其对<ul>和<a>比较熟悉; 2.对css样式比较了解; 3.掌握JavaScript和jQuery基础知识。
老师告诉你能学到什么?
轻松制作出各种形式的网站导航条菜单

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消