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

导航条菜单的制作

江老实 Web前端工程师
难度初级
时长23分
学习人数
综合评分9.53
1004人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.4 逻辑清晰
  • 导航条菜单制作总结 1、用无序列表构建菜单;ul/li 2、垂直菜单转变为水平菜单:float:left; 3、在制作圆角菜单时,背景图片贴在<a>标签上; -------> 雪碧图的应用--- background-position 4、在制作改变高度的伸缩菜单时,实现高度向上延伸的技巧: ----> margin-top用负值; 5、用JS制作水平伸缩菜单时,“this”代表当前的<a>标签。
    查看全部
    1 采集 收起 来源:总结

    2018-03-22

  • 通过改变菜单的height和添加margin-top、line-height使得菜单伸缩
    查看全部
  • 水平菜单代码
    查看全部
  • jQuery实现伸缩
    查看全部
  • script 代码
    查看全部
  • height line-height 40 margin -10
    查看全部
  • 圆角代码
    查看全部
  • 垂直菜单栏代码
    查看全部
  • text-indent 文本缩进,可用于li或其他文本调整
    查看全部
  • java伸缩菜单制作——水平方向 任务1:清除计时器clearInterval,每一个动作开始和结束时必须清除上个计时器。 任务2:设定计时器setInterval 任务3:a标签的宽度offsetWidth
    查看全部
    0 采集 收起 来源:编程练习

    2016-08-13

  • 1.jS(原生代码)实现:动画开始前先清除一下定时器,避免动画累加。 window.onload=function (){ var aA=document.getElementByTagName('a'); for(var i=0;i<aA.length;i++){ aA[i].onmouseover=function (){ clearInterval(This.time); var This=this; /*把当前的this对象传进来*/ This.time=setInterval(function (){ This.style.width=This.offsetWidth+8+"px"; /*8是变宽的速度*/ if(This.offsetWidth>=160){ clearInterval(This.time); } },30); } aA[i].onmouseout=function (){ clearInterval(This.time); var This=this; This.time=setInterval(function (){ This.style.width=This.offsetWidth-8+"px"; if(This.offsetWidth<=120){ This.style.width="120px"; clearInterval(This.time); } },30); } } }; 2.jQuery实现:动画打开时,先把上一个动画清理掉(使用stop方法)。 $(function(){ $('a').hover( function(){ $(this).stop().animate({"width":"160px"}.200); } function(){ $(this).stop().animate({"width":"120px"}.200); } )) })
    查看全部
  • 伸缩导航条的制作 将圆角导航条上修改成伸缩导航条! 去挑圆角贴图,给.on,a:hover加会原来的背景颜色。 把a标签的背景图片删掉,给.on,a:hover添加 高度,“重点”:margin可以用负值,相反方向移动。 通过改变<a>标签的margin值,实现菜单项【向上增高】,同时让文字垂直居中。 a{height:30px;} a:hover{height:40px;margin-top:-10px;line-height:40px;}/*重点*/ 提示: margin可以用负值,向相反方向移动。 改变a标签的高度height:40px,这样是向下增加的,再设置margin为负值,向反方向移动margin-top:10px,但文字也向上移动国,可设置a标签line-height:40px 最后居中,line-height
    查看全部
  • 努力吧
    查看全部
    1 采集 收起 来源:编程挑战

    2016-08-13

  • 一.代码中的if(oSubNav),有作用么,去掉可否:< 答:不可以去掉,那个是判断你鼠标所在的导航上是不是还有二级导航,如果有就没有问题,如果没有二级导航,你也不加判断,后面的代码就会报错。 二. 常犯的错误: 1.代码要注意缩进 特别是(){}这些的作用域, 2.有错别字,对象没改到。 3.估有点昏 先是全局的 然后是 for的 然后才是事件的 三.关于this.property (JS的this还是不清晰) 1.不该定义timer,应该挂载到每个li下面,这样不至于出现多个li争抢一个timer发生下滑菜单颤动纠结的现象; ——问:具体该怎么定义timer呢,见2; 2.不要写timer,写this.time即可(即把time挂到每个ul下) clearInterval(this.time); this.time = setInterval 3.这里的time并非一个变量,而是可以看作为是当前元素的一个自定义属性,不是该元素自带的属性,而是我们自己人为添加上去的,名字可以任意设置:this.aaa,this.bbb都可以,这个是可以直接赋值使用的不需要声明的。例如document.getElementById ('txtBox').setAttribute("haahaha","123456");这样也是允许的(后面的.getElement…….setAttribute)??还是不明白【类似于课上学到的this.index,也是直接就拿来用了,但是原理机制是什么?】 4.为什么二级菜单中的li也能找到ul?由此触发了ul高度增加... 把ul的背景设为可见色,便可以发现在鼠标经过二级菜单时,也会触发ul的高度增加: 具体代码如截图————产生原因:事件冒泡 如果父div有click事件, div里的span也有click事件, 默认你点span的时候父div的click事件也会被激发, 如果你不想激发父div的click事件, 就在span的click事件中stopPropagation()
    查看全部
    0 采集 收起 来源:编程练习

    2018-03-22

  • er呢,见2;<br> 2.不要写timer,写this.time即可(即把time挂到每个ul下)<br> clearInterval(this.time);<br> this.time = setInterval<br> 3.这里的time并非一个变量,而是可以看作为是当前元素的一个自定义属性,不是该元素自带的属性,而是我们自己人为添加上去的,名字可以任意设置:this.aaa,this.bbb都可以,这个是可以直接赋值使用的不需要声明的。例如document.getElementById<br> ('txtBox').setAttribute("haahaha","123456");这样也是允许的(后面的.getElement…….setAttribute)??还是不明白【类似于课上学到的this.index,也是直接就拿来用了,但是原理机制是什么?】<br> 4.为什么二级菜单中的li也能找到ul?由此触发了ul高度增加...<br> 把ul的背景设为可见色,便可以发现在鼠标经过二级菜单时,也会触发ul的高度增加:<br> 具体代码如截图————产生原因:事件冒泡<br> 如果父div有click事件, div里的span也有click事件, 默认你点span的时候父div的click事件也会被激发, 如果你不想激发父div的click事件, 就在span的click事件中stopPropagation() //鼠标经过一级菜单,二级菜单动画下拉显示出来 this.getElementsByTagName('ul')[0].style.overflow = "inherit"; //鼠标离开菜单,二级菜单动画收缩起来。 this.getElementsByTagName('ul')[0].style.overflow = "hidden";
    查看全部
    0 采集 收起 来源:编程挑战

    2018-03-22

举报

0/150
提交
取消
课程须知
1.熟悉html知识,尤其对<ul>和<a>比较熟悉; 2.对css样式比较了解; 3.掌握JavaScript和jQuery基础知识。
老师告诉你能学到什么?
轻松制作出各种形式的网站导航条菜单

微信扫码,参与3人拼团

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

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