mouseout监听滑动门会失效

mouseout监听滑动门会失效

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
<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>work</title>
    <link rel="stylesheet" type="text/css" href="css/css.css">
    <link rel="stylesheet" type="text/css" href="css/animate.css">
</head>
 
<body>
    <header class="header header_ani_init">
        <a class="header_logo" href="javascript:;">H5实战页面</a>
        <nav class="header_nav">
            <a class="header_nav_item" href="javascript:;">实战课程</a>
            <a class="header_nav_item" href="javascript:;">商业案例</a>
            <a class="header_nav_item" href="javascript:;">课程体系</a>
            <a class="header_nav_item" href="javascript:;">集成环境</a>
            <a class="header_nav_item" href="javascript:;">云端学习</a>
            <a class="a_btn" href="javascript:;">即刻学习</a>
            <div class="header_nav_tip"></div>
        </nav>
    </header>
    <div class="screen_1">
        <div class="screen_1_wrap">
            <h1 class="screen_1_title screen_1_title_ani_init">实战课程重磅上线</h1>
            <h5 class="screen_1_subtitle screen_1_subtitle_ani_init">一键云学习,还在等待什么?</h5>
        </div>
    </div>
    <div class="screen_2">
        <div class="screen_2_wrap">
            <h1 class="screen_2_title">每门课都是真实商业案例</h1>
            <hr class="wordline">
            <h5 class="screen_2_subtitle">真实案例,真实场景,在实战中时间、操作、调试<br>大牛带你体验BAT真实开发流程,所有开发国过程一一为你呈现</h5>
            <div class="rocket"></div>
            <div class="man"></div>
        </div>
    </div>
    <div class="screen_3">
        <div class="screen_3_wrap">
            <div class="desc_img"></div>
            <div class="desc">
                <h1 class="screen_3_title">强大的语言课程体系支持</h1>
                <hr class="wordline wordline_3">
                <h5 class="screen_3_subtitle">学习环境与课程轻松对接,安装、调试、写入、部署、运行,一站式解决<br>让你体验开发全流程</h5>
                <div class="courses">
                    <div class="courses_item courses_item1">HTML5</div>
                    <div class="courses_item courses_item2">PHP</div>
                    <div class="courses_item courses_item3">JAVA</div>
                    <div class="courses_item courses_item4">Python</div>
                    <div class="courses_item courses_item5">Node.js</div>
                </div>
            </div>
        </div>
    </div>
    <div class="screen_4">
        <div class="screen_4_wrap">
            <h1 class="screen_4_title">省去本地复杂的环境搭建</h1>
            <hr class="wordline wordline_4">
            <h5 class="screen_4_subtitle">你可以告别在虚拟机中调试开发了</h5>
            <div class="screen_4_items">
                <div class="screen_4_item screen_4_item1">实战课程继承开法环境</div>
                <div class="screen_4_item screen_4_item2">内置终端命令行</div>
                <div class="screen_4_item screen_4_item3">编译你的应用程序</div>
                <div class="screen_4_item screen_4_item4">通过云端服务输出效果</div>
            </div>
        </div>
    </div>
    <div class="screen_5">
        <div class="screen_5_wrap">
            <div class="screen_5_bg"></div>
            <h1 class="screen_5_title">云端学习可以这样简单</h1>
            <hr class="wordline wordline_5">
            <h5 class="screen_5_subtitle">看视频,敲代码,一气呵成。结合慕课网为你提供的云端学习工具,所见即所得。从此学习不一样</h5>
        </div>
    </div>
    <div class="screen_other">
        <a class="other_btn" href="#">继续了解学习体验</a>
    </div>
    <footer class="footer">
        <div class="links">
            <a href="javascript:;">网站首页&nbsp;&nbsp;</a>
            <a href="javascript:;">人才招聘&nbsp;&nbsp;</a>
            <a href="javascript:;">联系我们&nbsp;&nbsp;</a>
            <a href="javascript:;">高校联盟&nbsp;&nbsp;</a>
            <a href="javascript:;">关于我们&nbsp;&nbsp;</a>
            <a href="javascript:;">讲师招募&nbsp;&nbsp;</a>
            <a href="javascript:;">意见反馈&nbsp;&nbsp;</a>
            <a href="javascript:;">友情链接&nbsp;&nbsp;</a>
        </div>
        <h5>Copyright&copy;2015 imooc.com All Rights Reserved | 京ICP备113046642号-2</h5>
    </footer>
    <div class="slidebar">
        <a class="slidebar_item" href="javascript:;">实</a>
        <a class="slidebar_item" href="javascript:;">真</a>
        <a class="slidebar_item" href="javascript:;">课</a>
        <a class="slidebar_item" href="javascript:;">环</a>
        <a class="slidebar_item" href="javascript:;">云</a>
    </div>
    <script type="text/javascript" src="js/script.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
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
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
* {
    margin0;
}
 
body {
    width100%;
}
 
a {
    text-decorationnone;
}
 
h5 {
    font-weightnormal;
}
 
/* 头部导航 */
.header {
    positionfixed;
    top0;
    width100%;
    height80px;
    background-image: linear-gradient(blacktransparent);
    z-index1;
}
 
.header .header_logo {
    displayblock;
    margin-left20px;
    width140px;
    height80px;
    background-size40px 40px;
    backgroundurl('../images/logo.png'left center no-repeat;
    text-indent50px;
    colorwhite;
    cursorpointer;
    line-height80px;
}
 
.header .header_logo:hover {
    colorred;
}
 
.header .header_nav {
    positionabsolute;
    top50%;
    right0;
    margin-top-20px;
}
 
.header .header_nav .header_nav_item {
    floatleft;
    displayblock;
    height40px;
    padding0 15px 0;
    colorwhite;
    line-height40px;
    text-aligncenter;
}
 
.header .header_nav .header_nav_item:hover {
    colorred;
}
 
.header .header_nav .header_nav_item_active {
    colorred;
}
 
.header .header_nav .a_btn {
    width90px;
    background-colorred;
    border-radius: 3px;
    padding0;
    margin0 30px 0 15px;
 
    floatleft;
    displayblock;
    height40px;
    padding0 15px 0;
    colorwhite;
    line-height40px;
    text-aligncenter;
}
 
.header .header_nav .a_btn:hover {
    background-color#a20000;
}
 
.header .header_nav .header_nav_tip {
    positionabsolute;
    bottom0;
    left15px;
    width64px;
    height2px;
    background-colorred;
    transition: all .5s;
}
 
/* 第一屏 */
.screen_1 {
    width100%;
    height640px;
    backgroundurl('../images/sc1.jpg'no-repeat;
    background-size: cover;
    colorwhite;
}
 
.screen_1_wrap,
.screen_2_wrap,
.screen_3_wrap,
.screen_4_wrap,
.screen_5_wrap {
    width1200px;
    height640px;
    margin0 auto;
    text-aligncenter;
}
 
.screen_1_wrap>h1 {
    padding-top200px;
}
 
 
/* 第二屏 */
.screen_2 {
    width100%;
    height640px;
    backgroundurl('../images/sc2.png'center bottom no-repeat;
    background-color#e4e4e4;
    overflowhidden;
}
 
.screen_2_wrap {
    positionrelative;
}
 
.screen_2_wrap>h1 {
    padding-top90px;
}
 
.wordline {
    width50px;
    margin30px auto 20px;
    border1px solid red;
}
 
.rocket {
    positionabsolute;
    left45%;
    bottom15%;
    width266px;
    height205px;
    backgroundurl('../images/sc2-2.png'center no-repeat;
}
 
.man {
    positionabsolute;
    left50%;
    bottom0;
    margin-left-138px;
    width275px;
    height380px;
    backgroundurl('../images/sc2-1.png'center no-repeat;
}
 
 
/* 第三屏 */
.screen_3 {
    width100%;
    height640px;
    background-color#1d213a;
}
 
.screen_3_wrap {
    positionrelative;
    text-align: initial;
}
 
.desc {
    positionrelative;
    height450px;
    padding150px 0 0 550px;
    colorwhite;
}
 
.desc_img {
    positionabsolute;
    top0;
    left0;
    width520px;
    height640px;
    backgroundurl('../images/sc3.png'center no-repeat;
    background-size460px 500px;
}
 
.wordline_3 {
    margin30px 0 20px;
}
 
.courses {
    positionabsolute;
    bottom0;
}
 
.courses_item {
    floatleft;
    width70px;
    height70px;
    border-radius: 50%;
    border3px solid;
    text-aligncenter;
    line-height70px;
    margin-right30px;
}
 
.courses_item1 {
    color#5db4ff;
    border-color#5db4ff;
}
 
.courses_item2 {
    color#8500ff;
    border-color#8500ff;
}
 
.courses_item3 {
    color#ff6666;
    border-color#ff6666;
}
 
.courses_item4 {
    color#44a99f;
    border-color#44a99f;
}
 
.courses_item5 {
    color#499e54;
    border-color#499e54;
}
 
/* 第四屏 */
.screen_4 {
    width100%;
    height640px;
    background-color#e4e4e4;
}
 
.screen_4_wrap>h1 {
    padding-top90px;
}
 
.screen_4_items {
    width920px;
    height150px;
    margin20px auto 0;
}
 
.screen_4_item {
    floatleft;
    width160px;
    height150px;
    line-height280px;
    margin-right70px;
}
 
.screen_4_item1 {
    backgroundurl('../images/sc4-1.png'center no-repeat;
}
 
.screen_4_item2 {
    backgroundurl('../images/sc4-2.png'center no-repeat;
}
 
.screen_4_item3 {
    backgroundurl('../images/sc4-3.png'center no-repeat;
}
 
.screen_4_item4 {
    backgroundurl('../images/sc4-4.png'center no-repeat;
}
 
/* 第五屏 */
.screen_5 {
    width100%;
    height640px;
    backgroundurl('../images/sc5.jpg');
    background-size: cover;
    background-color#ab2121;
    colorwhite;
}
 
.screen_5_bg {
    width200px;
    height200px;
    margin0 auto;
    padding50px;
    backgroundurl('../images/sc5-1.png'center no-repeat;
 
}
 
.wordline_5 {
    border-colorwhite;
}
 
/* 其他 */
.screen_other {
    width100%;
    height200px;
    background-color#e4e4e4;
    positionrelative;
}
 
.other_btn {
    positionabsolute;
    top50%;
    left50%;
    margin-25px 0 0 -100px;
    displayblock;
    width200px;
    height50px;
    padding0;
    backgroundtransparent;
    border1px solid #545454;
    border-radius: 5px;
    cursorpointer;
    text-aligncenter;
    line-height50px;
    colorblack;
}
 
.other_btn:hover {
    colorred;
}
 
/* 底部 */
.footer {
    width100%;
    height100px;
    background-colorblack;
    colorwhite;
    text-aligncenter;
}
 
.links {
    padding20px;
}
 
.links>a {
    colorwhite;
}
 
.links>a:hover {
    colorred;
}
 
.slidebar {
    width50px;
    height210px;
    background-colorwhite;
    positionfixed;
    top50%;
    right0;
    margin-top-50px;
}
 
.slidebar .slidebar_item {
    displayblock;
    width30px;
    height30px;
    margin10px auto;
    text-aligncenter;
    line-height30px;
    colorblack;
}
 
.slidebar .slidebar_item:hover {
    colorred;
}
 
.slidebar .slidebar_item_active {
    colorred;
}
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
/* header动画 */
.header{
    transition: all 1s;
}
.header_ani_init{
    opacity: 0;
    transform: translate(0,-100%);
}
.header_ani_done{
    opacity: 1;
    transform: translate(0,0);
}
 
/* 第1屏动画 */
.screen_1_subtitle,
.screen_1_title{
    transition: all 1s;
}
.screen_1_title_ani_init{
    opacity: 0;
    transform: translate(0,-100%);
}
.screen_1_title_ani_done{
    opacity: 1;
    transform: translate(0,0);
}
.screen_1_subtitle_ani_init{
    opacity: 0;
    transform: translate(0,100%);
}
.screen_1_subtitle_ani_done{
    opacity: 1;
    transform: translate(0,0);
    transition-delay: .8s;
}
 
/* 第2屏动画 */
.rocket,
.man,
.wordline,
.screen_2_subtitle,
.screen_2_title{
    transition: all 1s;
}
.rocket_ani_init,
.wordline_ani_init,
.screen_2_subtitle_ani_init,
.screen_2_title_ani_init{
    opacity: 0;
    transform: translate(0,100%);
}
.man_ani_init{
    opacity: 0;
    transform: translate(0,0);
}
.screen_2_subtitle_ani_done,
.screen_2_title_ani_done{
    opacity: 1;
    transform: translate(0,0);
}
.wordline_ani_done,
.man_ani_done{
    opacity: 1;
    transform: translate(0,0);
    transition-delay: .5s;
}
.rocket_ani_done{
    transition-delay: 1s;
    animation: screen_2_bounce 11s;
}
 
/* 第3屏动画 */
.desc_img{
    transition: all;
}
.courses_item,
.courses,
.wordline_3,
.screen_3_subtitle,
.screen_3_title{
    transition: all 1s;
}
.desc_img_ani_init{
    transform: scale(.3);
}
.courses_item_ani_init,
.courses_ani_init,
.wordline_3_ani_init,
.screen_3_subtitle_ani_init,
.screen_3_title_ani_init{
    opacity: 0;
    transform: translate(0,100%);
}
.screen_3_subtitle_ani_done,
.screen_3_title_ani_done{
    opacity: 1;
    transform: translate(0,0);
}
.desc_img_ani_done{
    transform: scale(1);
}
.wordline_3_ani_done{
    opacity: 1;
    transform: translate(0,0);
    transition-delay: .3s;
}
.courses_ani_done{
    opacity: 1;
    transform: translate(0,0);
    transition-delay: 1s;
    animation: screen_3_bounce 11s;
    /* animation: screen_3_bounce_bre 1s infinite .5s; */
}
.courses_item5_ani_done,
.courses_item4_ani_done,
.courses_item3_ani_done,
.courses_item2_ani_done,
.courses_item1_ani_done{
    animation: screen_3_bounce_bre 1s infinite .5s;
}
 
/* 第4屏动画 */
.screen_4_items,
.wordline_4,
.screen_4_subtitle,
.screen_4_title{
    transition: all 1s;
}
.screen_4_items_ani_init{
    transform: scale(0);
}
.wordline_4_ani_init,
.screen_4_subtitle_ani_init,
.screen_4_title_ani_init{
    opacity: 0;
    transform: translate(0,100%);
}
.screen_4_items_ani_done{
    transform: scale(1);
}
.screen_4_title_ani_done{
    opacity: 1;
    transform: translate(0,0);
}
.screen_4_subtitle_ani_done,
.wordline_4_ani_done{
    opacity: 1;
    transform: translate(0,0);
    transition-delay: 1s;
}
 
/* 第5屏动画 */
.screen_5_bg{
    transition: all;
}
.wordline_5,
.screen_5_subtitle,
.screen_5_title{
    transition: all 1s;
}
.screen_5_bg_ani_init{
    transform: scale(.3);
}
.wordline_5_ani_init,
.screen_5_subtitle_ani_init,
.screen_5_title_ani_init{
    opacity: 0;
    transform: translate(0,100%);
}
.screen_5_bg_ani_done{
    transform: scale(1);
}
.screen_5_subtitle_ani_done,
.wordline_5_ani_done{
    opacity: 1;
    transform: translate(0,0);
    transition-delay: .8s;
}
.screen_5_title_ani_done{
    opacity: 1;
    transform: translate(0,0);
}
 
 
/* 帧动画 */
/* 第二屏小火箭 */
@keyframes screen_2_bounce{
    0%{
        opacity: 0;
        transform: translate(0,100%);
    }
    50%{
        opacity: 1;
        transform: translate(0,-10%);
    }
    70%{
        transform: translate(0,10%);
    }
    90%{
        transform: translate(0,-10%);
    }
    100%{
        transform: translate(0,0);
    }
}
 
/* 第三屏呼吸灯 */
@keyframes screen_3_bounce{
    0%{
        opacity: 0;
        transform: translate(0,100%);
    }
    50%{
        opacity: 1;
        transform: translate(0,-10%);
    }
    70%{
        transform: translate(0,10%);
    }
    90%{
        transform: translate(0,-10%);
    }
    100%{
        transform: translate(0,0);
    }
}
@keyframes screen_3_bounce_bre{
    0%,100%{
        opacity: .6;
        transform: scale3d(1,1,1);
    }
    50% {
        opacity: .3;
        transform: scale3d(1.05,1.05,1.05);
    }
}
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
// 获取元素
var getEle = function (element) {
    return document.querySelector(element);
}
var getAllElem = function (element) {
    return document.querySelectorAll(element);
}
 
//获取元素样式
var getClass = function (element) {
    return element.getAttribute('class');
}
 
//设置元素样式
var setClass = function (element, classval) {
    return element.setAttribute('class', classval);
}
 
//添加元素样式
var addClass = function (element, classval) {
    var baseclass = getClass(element);
    if (baseclass.indexOf(classval) === -1) {
        setClass(element, baseclass + ' ' + classval);
    }
    return;
}
 
//删除元素样式
var delClass = function (element, classval) {
    var baseclass = getClass(element);
    if (baseclass.indexOf(classval) != -1) {
        setClass(element, baseclass.split(classval).join(' ').replace(/\s+/g, ' '));
    }
    return;
}
 
 
//设置需要用到动画的元素
var screenAniEle = {
    '.header': [
        '.header',
    ],
    '.screen_1': [
        '.screen_1_title',
        '.screen_1_subtitle',
    ],
    '.screen_2': [
        '.screen_2_title',
        '.screen_2_subtitle',
        '.wordline',
        '.man',
        '.rocket',
    ],
    '.screen_3': [
        '.screen_3_title',
        '.screen_3_subtitle',
        '.wordline_3',
        '.desc_img',
        '.courses',
        '.courses_item1',
        '.courses_item2',
        '.courses_item3',
        '.courses_item4',
        '.courses_item5',
    ],
    '.screen_4': [
        '.screen_4_title',
        '.screen_4_subtitle',
        '.wordline_4',
        '.screen_4_items',
    ],
    '.screen_5': [
        '.screen_5_title',
        '.screen_5_subtitle',
        '.wordline_5',
        '.screen_5_bg',
    ],
}
 
//初始化样式,添加_animate_init样式
function playInit(ele) {
    var aniEle = screenAniEle[ele];
    for (var i = 0; i < aniEle.length; i++) {
        var tempele = document.querySelector(aniEle[i]);
        var baseclass = tempele.getAttribute('class');
        tempele.setAttribute('class', baseclass + ' ' + aniEle[i].substr(1) + '_ani_init');
    }
}
 
// 动画开始->结束
function playDone(ele) {
    var aniEle = screenAniEle[ele];
    for (var i = 0; i < aniEle.length; i++) {
        var tempele = document.querySelector(aniEle[i]);
        var baseclass = tempele.getAttribute('class');
        tempele.setAttribute('class', baseclass.replace('_ani_init''_ani_done'));
    }
}
// 开始调用初始化init样式
window.onload = function () {
    for (x in screenAniEle) {
        if (x == '.header' || x == '.screen_1') {
            continue;
        }
        playInit(x);
    }
}
 
setTimeout(function () {
    playDone('.header');
    playDone('.screen_1');
}, 100);
 
var navItems = getAllElem('.header_nav_item');
var slideItems = getAllElem('.slidebar_item');
//点哪导航项激活
function switchNavItemActive(index) {
    for (let i = 0; i < navItems.length; i++) {
        delClass(navItems[i], 'header_nav_item_active');
    }
    addClass(navItems[index], 'header_nav_item_active');
 
 
    for (let i = 0; i < slideItems.length; i++) {
        delClass(slideItems[i], 'slidebar_item_active');
    }
    addClass(slideItems[index], 'slidebar_item_active');
}
switchNavItemActive(0);
 
window.onscroll = function () {
    var top = document.documentElement.scrollTop;
    if (top >= 0) {
        playDone('.header');
        playDone('.screen_1');
        switchNavItemActive(0);
    }
    if (top > 540 * 1) {
        playDone('.screen_2');
        switchNavItemActive(1);
    }
    if (top > 540 * 2) {
        playDone('.screen_3');
        switchNavItemActive(2);
    }
    if (top > 540 * 3) {
        playDone('.screen_4');
        switchNavItemActive(3);
    }
    if (top > 540 * 4) {
        playDone('.screen_5');
        switchNavItemActive(4);
    }
}
 
// 点哪屏幕跳哪
function setNavJump(i, val) {
    var item = val[i];
    item.onclick = function () {
        document.documentElement.scrollTop = i * 640;
    }
}
// header导航绑定屏幕滚动
for (let i = 0; i < navItems.length; i++) {
    setNavJump(i, navItems);
}
// slidebar侧边栏绑定屏幕滚动
for (let i = 0; i < slideItems.length; i++) {
    setNavJump(i, slideItems);
}
 
 
//导航栏滑动门
var navTip = getEle('.header_nav_tip');
 
function setTip(index, ele) {
    ele[index].onmouseover = function () {
        navTip.style.left = index * 94 + 15 + 'px';
    }
    var activeIndex = 0;
    ele[index].onmouseout = function () {
        for (let i = 0; i < ele.length; i++) {
            if (getClass(ele[i]).indexOf('header_nav_item_active') > -1) {
                activeIndex = i;
                break;
            }
        }
        navTip.style.left = activeIndex * 94 + 15 + 'px';
    }
}
for (let i = 0; i < navItems.length; i++) {
    setTip(i, navItems);
}

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

发现了一个问题,页面载入完成后,鼠标不进入导航栏,用滚轮划到页面底部,此时导航栏文字会变色,但是下划线不会变位置,需要鼠标滑入导航栏一下才会变位置,下划线的变动是js里用onmouseout控制的,我试过window.onscroll监听页面滚动来变换下划线位置,但是没用,而且加上这个监听后,页面动画就没用了,该怎么解决呢?

正在回答

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

2回答

同学你好,在switchNavItemActive函数里面修改一下下划线的位置就可以了,如下

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

同学可以测试下。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

  • 猫有一只猫 提问者 #1
    1.navTip.style.left = 0 + 'px';和navTip.style.left = index * 94 + 15 + 'px';我都试过了,发现只需要下面的就可以达到效果,导航项设置的是两边都有padding,所以滑动门初始位置距左15px,就是不要上面的navTip.style.left = 0 + 'px';也是可以的。 2.另外还有个问题,页面滑到底部,刷新页面,页面都是初始化状态,设置的是window.onscroll判断top距离触发某屏动画,如何能够监听top不用滚动来触发,直接判断top高度来触发动画? 3.滑动门可不可以用a:hover做出来?如果用这个的话,鼠标放在导航项上会直接出现下划线,但是不会有从一个导航项滑到另一个导航项的动画,这样的话有没有可能做出这个动画呢?
    2019-11-20 13:53:44
好帮手慕言 2019-11-20 15:13:22

同学你好,关于同学的问题,解答如下:

1、如果不影响效果的话,可以去掉。

2、用户打开页面肯定是从上往下开始浏览,就算中途刷新之后也会滚动页面,所以这个不用担心。

3、滑动门不能使用hover实现,因为hover时我们不知道移入的是哪个导航项。

如果还有其他疑问,建议在问答区重新提问,便于同学后期查找总结

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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