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

导航条菜单的制作

江老实 Web前端工程师
难度初级
时长23分
学习人数
综合评分9.53
1004人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.4 逻辑清晰
  • 一般都使用 “ul\li” 来制作“菜单导航条”
    查看全部
    0 采集 收起 来源:练习题

    2015-12-24

  • 清除定时器:clearInterval 设定定时器:setInterval 设置标签宽度:offsetWidth
    查看全部
    0 采集 收起 来源:编程练习

    2015-12-23

  • window.onload=function(){ var aA = document.getElementsByIagName('a'); /*查找所有的a标签元素*/ for(var i=0; i<aA.length; i++){ aA[i].onmouseover = function(){ /*获取a标签的鼠标事件*/ clearInterval(This.time); /*防止累加*/ var This = this; /*把当前的this 对象传进来*/ This.time = setInterval(function(){ This.style.width = This.offsetWidth + 8 + "px"; if(This.offsetWidth >= 160){ /*如果当前对象的宽度 大于 160*/ clearInterval(This.time); /*就停止当前时间*/ } },30) } aA[i].onmouseout = function(){ /*获取a标签的鼠标移除事件*/ clearInterval(This.time); /*防止累加*/ var This = this; /*把当前的this 对象传进来*/ This.time = setInterval(function(){ This.style.width = This.offsetWidth - 8 + "px"; if(This.offsetWidth <= 120){ /*如果当前对象的宽度 大于 160*/ This.style.width = "120px"; clearInterval(This.time); /*就停止当前时间*/ } },30) } }
    查看全部
  • 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); } } };
    查看全部
  • jQuery实现:动画打开时,先把上一个动画清理掉(使用stop方法)。 $(function(){ $('a').hover( function(){ $(this).stop().animate({"width":"160px"}.200); } function(){ $(this).stop().animate({"width":"120px"}.200); } ) })
    查看全部
  • aaa
    查看全部
    0 采集 收起 来源:编程练习

    2015-12-23

  • 改变a标签的高度height:40px,这样是向下增加的,再设置margin-top为负值,向反方向移动margin-top:-10px,但文字也向上移动了,可设置a标签line-height:40px
    查看全部
  • obj.style.width返回一个字符串值,是content宽度;obj.offsetWidth返回一个整数值,包含边框的宽度
    查看全部
    0 采集 收起 来源:编程挑战

    2015-12-23

  • 如果要给水平菜单增加整体背景,需要对<ul>进行整体背景设置,首先要给<ul>定义宽、高。因为菜单<li>浮动后,<li>脱离文档流,导致<ul>将失去高度和宽度。
    查看全部
    0 采集 收起 来源:练习题

    2018-03-22

  • 1.圆角菜单的制作,通过设置背景,改变外观样式。 通过a:hover,可以为菜单增加交互效果。 2.横向菜单与圆角菜单的却别是:为ul增加一个 装饰线 border-bottom、为a标签添加圆角背景,宽与高相适应、有一个默认的选中状态,所以要为a标签加上一个class"on" 在为它的样式添加上一个on,最后一动它的位置(y,x) 例:background-position: 15px 20px;(指将图片向右移15px,向下移20px;) 简单地说,就是以图片的左上角顶点为原点,往下和右都为正,反之为负
    查看全部
  • 一般都使用 “ul\li” 来制作“菜单导航条”
    查看全部
    0 采集 收起 来源:练习题

    2015-12-22

  • 设置水平菜单导航栏 在垂直菜单导航栏样式基础上修改: 1、设置li为左浮动 2、将ul限制宽度去掉 3、设置文本居中,text-align:center,将之前的text-indent(文本缩进)属性删掉
    查看全部
  • 1.用ul无序列列表构建菜单 2.清除默认样式 *{margin:0;padding:0;} *{ }(用于全局设置) 清除ul的样式 ul{list-style:none},能去掉前面的默认小圆点 去掉a标签的下划线 a{text-decoration:none} 在导航栏中经常用 height: 30px;line-height: 30px;可使文字垂直居中。 3.如果用为文字前面增加像素,最好用缩进的方式来实现 {text-indent:xx px}(文本缩进,用text-indent替换padding-left,是为了防止菜单长度增加。例如:padding-left:10px; 会导致宽度也增加10px ) 4.ul li a{}因为a标签是最内部的元素 所以对a标签设置就可以了 又因为a为内联元素,而块状元素才可以设置 宽度 高度,所以要把a设置为块级元素:ul li a{display:block;}
    查看全部
  • 菜单<li>浮动后,<li>脱离文档流,导致<ul>将失去高度和宽度;如果需要对<ul>进行整体背景设置,首先要给<ul>定义宽、高。
    查看全部
    0 采集 收起 来源:练习题

    2018-03-22

  • 垂直菜单简单制作
    查看全部

举报

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

微信扫码,参与3人拼团

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

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