-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscroll.vue
112 lines (100 loc) · 2.68 KB
/
scroll.vue
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
<template>
<div class="scroll">
<ul class="tabs" ref="tabs" id="tabs">
<li v-for="(n,i) in dataLists" class="list" :class="{isActive: currentIndex==i}" @click="Change(i)">
<router-link :to="n.to" tag="div">
<span> {{n.title}} </span>
</router-link>
</li>
</ul>
</div>
</template>
<script>
export default {
name: "scroll",
data (){
return {
dataLists : [
{
to:'/',
title:'首页'
},
{
to:'/three',
title:'第二页面'
},
{
to:'/four',
title:'第三页面'
},
{
to:'/five',
title:'第四页面'
},
{
to:'/six',
title:'第五页面'
}
],
currentIndex:0
}
},
created (){
this.currentIndex = this.$store.state.current;
},
methods:{
Change (i){
this.currentIndex = i;
this.$store.commit('set_current',i);
},
// 记录滚动条的位置
recordScroll(){
let dom = this.$refs.tabs;
// console.log(dom.scrollLeft);
dom.scrollLeft += this.current * 80
}
},
mounted(){
this.$nextTick(()=>{
this.recordScroll();
})
},
computed: {
current() {
return this.$store.state.current;
}
}
}
</script>
<style scoped>
.list {
padding:0 20px ;
font-size: 16px;
color: #282828;
line-height: 50px;
}
.tabs {
height: 50px;
background: #fff;
}
/* .scroll {
overflow-x: scroll;
display: -webkit-box;
}*/
.scroll::-webkit-scrollbar{
display: none;
}
.isActive {
color:coral;
font-size: 20px;
}
.tabs{
display: -webkit-box;
overflow-x: scroll;
overflow-y:hidden ;
-webkit-overflow-scrolling: touch;
}
.tabs::-webkit-scrollbar {
display: none;
}
</style>