|
@@ -101,38 +101,6 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- .page-component-up {
|
|
|
|
- background-color: #fff;
|
|
|
|
- position: fixed;
|
|
|
|
- right: 100px;
|
|
|
|
- bottom: 150px;
|
|
|
|
- width: 40px;
|
|
|
|
- height: 40px;
|
|
|
|
- size: 40px;
|
|
|
|
- border-radius: 20px;
|
|
|
|
- cursor: pointer;
|
|
|
|
- transition: .3s;
|
|
|
|
- box-shadow: 0 0 6px rgba(0,0,0, .12);
|
|
|
|
- z-index: 5;
|
|
|
|
-
|
|
|
|
- i {
|
|
|
|
- color: #409EFF;
|
|
|
|
- display: block;
|
|
|
|
- line-height: 40px;
|
|
|
|
- text-align: center;
|
|
|
|
- font-size: 18px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- &.hover {
|
|
|
|
- opacity: 1;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .back-top-fade-enter,
|
|
|
|
- .back-top-fade-leave-active {
|
|
|
|
- transform: translateY(-30px);
|
|
|
|
- opacity: 0;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@media (max-width: 768px) {
|
|
@media (max-width: 768px) {
|
|
@@ -157,9 +125,6 @@
|
|
overflow: auto;
|
|
overflow: auto;
|
|
display: block;
|
|
display: block;
|
|
}
|
|
}
|
|
- .page-component-up {
|
|
|
|
- display: none;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|
|
@@ -173,17 +138,12 @@
|
|
<router-view class="content"></router-view>
|
|
<router-view class="content"></router-view>
|
|
<footer-nav></footer-nav>
|
|
<footer-nav></footer-nav>
|
|
</div>
|
|
</div>
|
|
- <transition name="back-top-fade">
|
|
|
|
- <div
|
|
|
|
- class="page-component-up"
|
|
|
|
- :class="{ 'hover': hover }"
|
|
|
|
- v-show="showBackToTop"
|
|
|
|
- @mouseenter="hover = true"
|
|
|
|
- @mouseleave="hover = false"
|
|
|
|
- @click="toTop">
|
|
|
|
- <i class="el-icon-caret-top"></i>
|
|
|
|
- </div>
|
|
|
|
- </transition>
|
|
|
|
|
|
+ <el-backtop
|
|
|
|
+ v-if="showBackToTop"
|
|
|
|
+ target=".page-component__scroll .el-scrollbar__wrap"
|
|
|
|
+ right="100"
|
|
|
|
+ bottom="150"
|
|
|
|
+ ></el-backtop>
|
|
</div>
|
|
</div>
|
|
</el-scrollbar>
|
|
</el-scrollbar>
|
|
</template>
|
|
</template>
|
|
@@ -197,8 +157,6 @@
|
|
return {
|
|
return {
|
|
lang: this.$route.meta.lang,
|
|
lang: this.$route.meta.lang,
|
|
navsData,
|
|
navsData,
|
|
- hover: false,
|
|
|
|
- showBackToTop: false,
|
|
|
|
scrollTop: 0,
|
|
scrollTop: 0,
|
|
showHeader: true,
|
|
showHeader: true,
|
|
componentScrollBar: null,
|
|
componentScrollBar: null,
|
|
@@ -238,15 +196,9 @@
|
|
}, 50);
|
|
}, 50);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- toTop() {
|
|
|
|
- this.hover = false;
|
|
|
|
- this.showBackToTop = false;
|
|
|
|
- this.componentScrollBox.scrollTop = 0;
|
|
|
|
- },
|
|
|
|
|
|
|
|
handleScroll() {
|
|
handleScroll() {
|
|
const scrollTop = this.componentScrollBox.scrollTop;
|
|
const scrollTop = this.componentScrollBox.scrollTop;
|
|
- this.showBackToTop = scrollTop >= 0.5 * document.body.clientHeight;
|
|
|
|
if (this.showHeader !== this.scrollTop > scrollTop) {
|
|
if (this.showHeader !== this.scrollTop > scrollTop) {
|
|
this.showHeader = this.scrollTop > scrollTop;
|
|
this.showHeader = this.scrollTop > scrollTop;
|
|
}
|
|
}
|
|
@@ -259,6 +211,11 @@
|
|
this.scrollTop = scrollTop;
|
|
this.scrollTop = scrollTop;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ computed: {
|
|
|
|
+ showBackToTop() {
|
|
|
|
+ return !this.$route.path.match(/backtop/);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
created() {
|
|
created() {
|
|
bus.$on('navFade', val => {
|
|
bus.$on('navFade', val => {
|
|
this.navFaded = val;
|
|
this.navFaded = val;
|