主菜单划到子菜单但是子菜单不显示

主菜单划到子菜单但是子菜单不显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>广告轮播</title>
<link rel="stylesheet" href="css/index.css">
</head>
<body>
<div class="main" id="main">
<!-- 导航菜单 -->
<!-- menubox定义过透明度,会导致里面内容也是半透面的,所以内容另加 -->
<div class="menu-box"></div>
<!-- 主菜单 -->
<div class="menu-content" id="menu-content">
<div class="menu-item">
<a href="">
<span>手机、配件</span>
<i class="iconfont">&#xe604;</i>
</a>
</div>
<div class="menu-item">
<a href="">
<span>电脑</span>
<i class="iconfont">&#xe604;</i>
</a>
</div>
<div class="menu-item">
<a href="">
<span>家用电器</span>
<i class="iconfont">&#xe604;</i>
</a>
</div>
<div class="menu-item">
<a href="">
<span>家具</span>
<i class="iconfont">&#xe604;</i>
</a>
</div>
</div>
 
<!-- 子菜单 -->
<div class="sub-menu hide" id="sub-menu">
<!-- 手机、配件 -->
<div class="inner-box">
<div class="title">手机、配件</div>
<div class="sub-row">
<span class="bold mr10">手机通讯:</span>
<a href="#">手机</a>
<span class="mr10 ml10">/</span>
<a href="#">手机维修</a>
<span class="mr10 ml10">/</span>
<a href="#">以旧换新</a>
</div>
<div class="sub-row">
<span class="bold mr10">电脑:</span>
<a href="#">手机壳</a>
<span class="mr10 ml10">/</span>
<a href="#">手机存储卡</a>
<span class="mr10 ml10">/</span>
<a href="#">数据线</a>
<span class="mr10 ml10">/</span>
<a href="#">充电器</a>
<span class="mr10 ml10">/</span>
<a href="#">电池</a>
</div>
<div class="sub-row">
<span class="bold mr10">运营商:</span>
<a href="#">中国联通</a>
<span class="mr10 ml10">/</span>
<a href="#">中国移动</a>
<span class="mr10 ml10">/</span>
<a href="#">中国电信</a>
</div>
<div class="sub-row">
<span class="bold mr10">智能设备:</span>
<a href="#">只能手环</a>
<span class="mr10 ml10">/</span>
<a href="#">智能家居</a>
<span class="mr10 ml10">/</span>
<a href="#">智能手表</a>
<span class="mr10 ml10">/</span>
<a href="#">其他配件</a>
</div>
<div class="sub-row">
<span class="bold mr10">娱乐:</span>
<a href="#">耳机</a>
<span class="mr10 ml10">/</span>
<a href="#">音响</a>
<span class="mr10 ml10">/</span>
<a href="#">收音机</a>
<span class="mr10 ml10">/</span>
<a href="#">麦克风</a>
</div>
</div>
<!-- 电脑 -->
<div class="inner-box">
<div class="title">电脑</div>
<div class="sub-row">
                    <span class="bold mr10">电脑:</span>
                    <a href="">笔记本</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">平板</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">一体机</a>
</div>   
<div class="sub-row">
                    <span class="bold mr10">电脑配件:</span>
                    <a href="">显示器</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">CPU</a>
                    <span class="ml10 mr10">/</span>   
                    <a href="">主板</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">硬盘</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">电源</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">显卡</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">其他配件</a>
</div>
<div class="sub-row">
                    <span class="bold mr10">游戏设备:</span>
                    <a href="">游戏机</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">耳机</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">游戏软件</a>
</div>
<div class="sub-row">
                    <span class="bold mr10">网络产品:</span>
                    <a href="">路由器</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">网络机顶盒</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">交换机</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">存储卡</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">网卡</a>
</div>
<div class="sub-row">
                    <span class="bold mr10">外部产品:</span>
                    <a href="">鼠标</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">键盘</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">U盘</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">移动硬盘</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">鼠标垫</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">电脑清洁</a>
</div>
</div>
<!-- 家用电器 -->
<div class="inner-box">
<div class="title">家用电器</div>
<div class="sub-row">
                    <span class="bold mr10">电视:</span>
                    <a href="">国产品牌</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">韩国品牌</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">欧美品牌</a>
</div>
<div class="sub-row">
                    <span class="bold mr10">空调:</span>
                    <a href="">显示器</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">柜式</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">中央</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">壁挂式</a>
</div>
<div class="sub-row">
                    <span class="bold mr10">冰箱:</span>
                    <a href="">多门</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">对开门</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">三门</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">双门</a>
</div>
<div class="sub-row">
                    <span class="bold mr10">洗衣机:</span>
                    <a href="">滚筒式洗衣机</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">迷你洗衣机</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">洗烘一体机</a>
</div>
<div class="sub-row">
                    <span class="bold mr10">厨房电器:</span>
                    <a href="">油烟机</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">洗碗机</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">燃气灶</a>
</div>
</div>
<!-- 家具 -->
<div class="inner-box">
<div class="title">家具</div>
<div class="sub-row">
                    <span class="bold mr10">家纺:</span>
                    <a href="">被子</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">枕头</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">四件套</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">床垫</a>
</div>
<div class="sub-row">
                    <span class="bold mr10">灯具:</span>
                    <a href="">台灯</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">顶灯</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">节能灯</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">应急灯</a>
</div>
<div class="sub-row">
                    <span class="bold mr10">厨具:</span>
                    <a href="">烹饪锅具</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">餐具</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">菜板刀具</a>
</div>
<div class="sub-row">
                    <span class="bold mr10">家装:</span>
                    <a href="">地毯</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">沙发垫套</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">装饰字画</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">照片墙</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">窗帘</a>
</div>
<div class="sub-row">
                    <span class="bold mr10">生活日用:</span>
                    <a href="">收纳用品</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">浴室用品</a>
                    <span class="ml10 mr10">/</span>
                    <a href="">雨伞雨衣</a>
</div>
</div>
</div>
 
<!-- 图片轮播 -->
<div class="banner" id="banner">
<a href="">
<div class="banner-slide slide1 slide-active"></div>
</a>
<a href="">
<div class="banner-slide slide2"></div>
</a>
<a href="">
<div class="banner-slide slide3"></div>
</a>
</div>
<!-- 上一张、下一张按钮 -->
<a href="javascript:void(0)" class="button prev" id="prev" ></a>
<a href="javascript:void(0)" class="button next" id="next" ></a>
<!-- 圆点导航 -->
<div class="dots" id="dots">
<span class="active"></span>
<span></span>
<span></span>
</div>
</div>
<script src="js/index.js"></script>
</body>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
*{
    margin0;
    padding0;
}
 
@font-face {
  font-family'iconfont';
  srcurl('iconfont.eot');
  srcurl('iconfont.eot?#iefix'format('embedded-opentype'),
  url('iconfont.woff'format('woff'),
  url('iconfont.ttf'format('truetype'),
  url('iconfont.svg#iconfont'format('svg');
}
.iconfont{
  font-family:"iconfont" !important;
  font-size:16px;font-style:normal;
}
 
ul{
    list-stylenone;
}
 
a:link,a:visited{
    text-decorationnone;
    color#333;
}
 
body{
    font-family"微软雅黑";
    color#14191e;
}
 
.main{
    width1200px;
    height460px;
    margin30px auto;
    overflowhidden;
    positionrelative;
}
 
.banner{
    width1200px;
    height460px;
    overflowhidden;
    positionrelative;
}
 
.banner-slide{
    width1200px;
    height460px;
    background-repeatno-repeat;
    positionabsolute;
    displaynone;
}
 
.slide-active{
    displayblock;
}
 
.slide1{
    background-imageurl(../img/bg1.jpg);
}
.slide2{
    background-imageurl(../img/bg2.jpg);
}
.slide3{
    background-imageurl(../img/bg3.jpg);
}
 
.button{
    width40px;
    height80px;
    positionabsolute;
    left244px;
    top50%;
    margin-top-40px;
    backgroundurl(../img/arrow.png) no-repeat center center;
}
 
.button:hover{
    background-color#333;
    opacity: 0.4;
    /*下面这个针对一些低版本ie浏览器之类兼容的*/
    /*filter: alpha(opasity=40);*/
}
 
.prev{
    transform: rotate(180deg);
}
.next{
    leftauto;
    right0;
}
 
.dots{
    positionabsolute;
    right10px;
    bottom24px
}
 
.dots span{
    display: inline-block;
    width12px;
    height12px;
    border-radius: 50%;
    /*rgba可以同时设置透明度*/
    background-color: rgba(7,17,27,0.6);
    box-shadow: 0 0 1px 2px rgba(255,255,255,0.8inset;
    margin-right8px;
    cursorpointer;
}
 
.dots .active{
    background-color#fff;
    box-shadow: 0 0 1px 2px rgba(7,17,27,0.6inset;
}
 
/*导航菜单*/
.menu-box{
    width244px;
    height460px;
    positionabsolute;
    left0;
    top0;
    background-color: rgba(7,17,27,0.5);
    z-index1;
}
 
.menu-content{
    width244px;
    height454px;
    positionabsolute;
    left0;
    top0;
    z-index2;
    padding-top6px;
}
 
.menu-item{
    height64px;
    line-height64px;
    padding-left24px;
    positionrelative;
}
 
.menu-item a:link,.menu-item a:visited{
    color#fff;
}
 
.menu-item a{
    displayblock;
    border-bottom1px solid rgba(255,255,255,0.2);
    height63px;
    padding0 8px;
}
 
.menu-item i{
    positionabsolute;
    right32px;
    top0px;
    font-weightnormal;
    color: rgba(255,255,255,0.5);
}
 
.sub-menu{
    width730px;
    height458px;
    border1px solid #d9ddde;
    background-color#fff;
    positionabsolute;
    left244px;
    top0;
    z-index999;
    backgroundurl(../img/fe.png) no-repeat center center;
}
 
.inner-box{
    width652px;
    margin-left40px;
    overflowhidden;
    positionabsolute;
    displaynone;
}
 
.title{
    color#f01414;
    line-height16px;
    margin:30px 0;
    font-weightbolder;
}
 
.sub-row{
    margin-bottom25px;
}
 
.bold{
    font-weightbold;
}
.mr10{
    margin-right10px;
}
.ml10{
    margin-left10px;
}
 
.hide{
    displaynone;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
// 封装一个代替getElementById()的方法
function byId(id){
    return typeof(id) ==="string"?document.getElementById(id):id;
}
 
var index =0,
    timer = null,
    pics = byId('banner').getElementsByTagName('div'),
    dots = byId('dots').getElementsByTagName('span'),
    len = pics.length;
var menu = byId('menu-content'),
    menuItems = menu.getElementsByClassName('menu-item'),
    subMenu=byId('sub-menu'),
    innerBoxs=subMenu.getElementsByClassName('inner-box');
 
// 切换图片
function changeImg(){
    // 遍历banner下div和dots下的span,将div隐藏,将span清楚类
    for(var i=0;i<len;i++){
        pics[i].style.display="none";
        dots[i].className='';
    }
    // 根据索引找到当前div和span,将其显示或激活
    pics[index].style.display="block";
    dots[index].className='active';
}
 
function slideImg(){ 
    var main=byId("main");
    // 滑过清除定时器,离开继续
    main.onmouseover = function(){
        // 滑过清除定时器
        if(timer) clearInterval(timer);
    };
    main.onmouseout = function(){
        // 离开启动定时器
        timer = setInterval(function(){
            index++;
            if(index>=len){
                index=0;
            }
            changeImg();
        },2000);
    };
    // 自动在main上出发鼠标离开的事件
    main.onmouseout();
 
    //遍历所有点击,绑定点击事件,点击圆点切换图片
    for(var d=0;d<len;d++){
        // 将圆点的索引设id属性,后面可可以根据id找到索引
        dots[d].id=d;
        // function引用外部可变变量是以变量的最后一个值作为参数
        dots[d].onclick=function(){
            index=this.id;
            changeImg();
             
        }
    }
 
    // 实现上一张,下一张按钮功能
    byId('next').onclick=function(){
        index++;
        if(index>=len) index=0;
        changeImg();
    };
    byId('prev').onclick=function(){
        index--;
        if(index<0) index=len-1;
        changeImg();
    };
 
    // 遍历主菜单,且绑定事件
    for(var i=0;i<menuItems.length;i++){
        // 给所有的menu-item添加一个data-index属性作为索引
        menuItems[i].setAttribute('data-index',i);
        menuItems[i].onmouseover=function(){
            var idx=this.getAttribute('data-index');
            for(var m=0;m<menuItems.length;m++){
                innerBoxs[m].style.display='none';
            }
            subMenu.className='sub-menu';
            innerBoxs[idx].style.display='block';
        }
    }
    menu.onmouseout=function(){
        subMenu.className='sub-menu hide';
    }
    subMenu.onmouseover=function(){
        subMenu.calssName="sub-menu";
        // console.log("aaa");
        // 加一个输出测试事件绑定成功,但是子菜单不显示
    }
    subMenu.onmouseout=function(){
        subMenu.calssName="sub-menu hide";
    }
}
 
slideImg();

老师,你看我js代码那里,我测试了好久,其他功能都没问题,就是主菜单划到子菜单是不能显示。麻烦老师帮我看看什么问题吧。

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学截图中红框圈出来的部分写错了,className拼错了,修改后就可以了。

http://img1.sycdn.imooc.com//climg/5afeaaf70001cdb506570444.jpg

  • 鹏视野 提问者 #1
    谢谢老师,这个真的纠结我好久,竟然是拼写错了,老师这个编译器有没有向eclipse那样会检查拼写之类的功能啊,这个写代码时好多都没有错误提示,自己很难找到错误。
    2018-05-18 20:04:44
好帮手慕阿莹 2018-05-18 16:41:35

经过测试你的代码,用谷歌的浏览器是可以出来的,

http://img1.sycdn.imooc.com//climg/5afe919e00013d5003940259.jpg如果用IE浏览器是出不来的。请问同学用的是什么浏览器呢?建议同学用谷歌浏览器。祝学习愉快。

  • 提问者 鹏视野 #1
    老师我用的是谷歌,ie也试过,都是滑过主菜单时子菜单可以显示,但从主菜单滑到子菜单时,子菜单就消失了。这个效果一直没有实现
    2018-05-18 17:37:51
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10204    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
微信客服

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码