慕用8339455
鼬神ss
凉了个林
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <link href="圆角边.css" type="text/css" rel="stylesheet" /> </head> <body> <ul> <li class="on"><a href="#">首 页</a></li> <li><a href="#">联系我们</a></li> <li><a href="#">新闻快讯</a></li> <li><a href="#">产品展示</a></li> <li><a href="#">售后服务</a></li> </ul> </body> </html> /*上面为HTML代码*/ /*下面是css外联样式代码*/
@charset "utf-8"
*{margin: 0;padding: 0; font-size: 20px}
ul{height: 50px;list-style: none;border-bottom: 5px solid #F36708;padding-left: 40px;}
li{float: left;margin-top: 20px;}
a{display: block;width: 120px;height: 30px;
text-decoration: none;text-align: center;
background:url("../decompression/《导航条菜单制作》课程源代码/images/btnBg.png");color: black;
background-color: aqua;}
.on ,a:hover{background-position: 0 -30px;color: #ED6A6D;}
初岁
在对需要设置宽高的标签时,将标签变成快。
慕九州636316
前端你
qq_慕先生3429672
学过javascript没有
慕娘9017927
zozor_訣擇0_0
?问题找到了,offSetHeight这里拼错了 ,头大了。。。。
慕娘9499205
可以使用 或者是直接键盘敲空格
weixin_慕九州7514840
用clear清除一下 浮动带来的影响 就可以了
weixin_慕九州7514840
因为我们给首页菜单项默认为选中状态
千山笃行
可以首页按F12去研究一下
田马达加斯加
This.style.width=This.offsetWidth+8+"px";
if(This.time>=160)
改为 ↓
This.style.width=This.offsetWidth+8+"px";
if(This.offsetWidth>=160)
慕无忌3143822
俩个function间隔没有用逗号
qq_慕数据0527137
截图工具
伶俐的小松鼠

多了个大括号,细心点
qq_韦泽光_0
JavaScript中常用的方法,例如:
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
this则代表当前给绑定事件的类选择器
yyc_two
你给body设置个min-width就行了
慕粉2240445164
因为text-align:center是水平居中
Java小黑白
在第一个链接中增加一个类选择器,如下代码:
<li><a href="#" class="on">首页</a><li>
然后用CSS样式美化
.on,.a:hover{
background-position:0 -30px;
color:#fff;
}
Mr丶Zhang小
我发现不是因为频发移入移出,是因为的写的offsetWidth + 10的原因,才导致我出现这样的问题。
根本停不下的龙
首先,.on和a:hover是对两种元素状态的样式控制,.on是对class为on的元素进行css样式设置,而只有首页具有class为“on”的属性,所以只有它初始状态为红色;a:hover是对鼠标移到a标签之后的样式进行设置,所有的栏目其实都会产生变化,但是首页栏目由于初始样式即(.on)控制的样式和鼠标移到首页上的样式即(a:hover)控制的样式是一样的,所以没有变化。
木子婷
原因有两个:
(1)onmouseout里面应该是clearInterval,而不是setInterval;
(2)主要原因
a标签设置了左右padding是20px,而width是60px,所以a标签初始的offsetWidth是100;
当onmouseover时,a标签+8px,然后再设置a标签的width,此时a标签的width=108px,而a标签的offsetWidth=148px,满足条件,此时清除了定时器。
当onmouserout时,启动定时器,a标签的offsetWidth - 8 = 140px,再把140设置为a标签的width,此时a标签的width=140px;而a标签左右padding是20px,所以此时a标签的offsetWidth=180px,不满足条件,所以不会清除定时器。过了30毫秒之后,重复上面的步骤,导致width越来越大。
解决方法:
onmouseout改成clearInterval;
把a标签的左右padding去掉
Wandbns
可以实现啊。你用什么写的?
慕仔8853991

外部文件打包放在一起之后输入路径就可以自动跳出来然后选择了
Annari
通过ID比较好,实际开发的时候元素会很多,通过ID才是好一些的
这里教课没有涉及ID,不是重点所以才没有提到ID这个概念
莫892897612
要看你用什么软件,一般用得比较多的是ctrl+shift+/ 或 ctrl+/ ,另外快捷键可以自定义的,如果你不熟悉所用的软件,可以找一些关于这个工具教程看看
莫892897612
我的见解:
getElementsByTagName 这个function是JavaScript一个function,可以根据标签(Tag)来获取一个dom对象。
所以,var aLi=document.getElementsByTagName('li');是根据‘li’标签获取一个elements数组,,也就是获取到‘li’标签元素的相关信息。
类似方法还有,getElementsByClassName,getElementById
aLi[i].onmouseover=function(){
//鼠标经过一级菜单,二级菜单动画下拉显示出来
var subLi=this.getElementsByClassName('subNav'); // 这个this指的是aLi[i],由于这个onmouseover 事件是加在aLi上的,所以这里的this指代的是这个aLi[i]对象,oSubNav = this.getElementsByTagName('ul')[0];这个同理
if (subLi.length > 0) {
subLi[0].style.height = '120px';
}
}
莫892897612
将nav、li、a这三个的交互效果设置为:当鼠标掠过此区域时,背景颜色变为橙色,文字颜色变为白色