default.vue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <div>
  3. <v-header @returnScrollTop="returnScrollTop"></v-header>
  4. <back-top :backTopIsShow="backTopState" @handleBackTop="handleBackTop"></back-top>
  5. <main class="content-container" ref="container" :class="headFixed == true ? 'marginTop' : ''">
  6. <nuxt/>
  7. </main>
  8. <v-footer></v-footer>
  9. </div>
  10. </template>
  11. <style>
  12. </style>
  13. <script>
  14. import VHeader from '~/components/home/header';
  15. import VFooter from '~/components/home/footer';
  16. import backTop from '~/components/common/backTop.vue'
  17. // import {seo} from '~/utils/assist'
  18. export default {
  19. components: {
  20. VHeader,
  21. backTop,
  22. VFooter
  23. },
  24. data (){
  25. return {
  26. headFixed: true,
  27. maxClientWidth: 980,
  28. backTopState: true // 返回顶部部分距离顶部的距离
  29. }
  30. },
  31. mounted (){
  32. // window.addEventListener('scroll',this.handleScroll);
  33. // seo();
  34. // var _hmt = _hmt || [];
  35. // (function() {
  36. // var hm = document.createElement("script");
  37. // hm.src = "https://hm.baidu.com/hm.js?02736a493e850835a7c343e9edd17e88";
  38. // var s = document.getElementsByTagName("script")[0];
  39. // s.parentNode.insertBefore(hm, s);
  40. // })();
  41. },
  42. methods: {
  43. // 返回顶部
  44. handleBackTop() {
  45. document.getElementById("backTop").scrollIntoView();
  46. },
  47. // 返回距离顶部的距离 从header中获取 其中有一个原生监听sroll
  48. returnScrollTop(val) {
  49. this.backTopState = (val !== 0)
  50. console.log(this.backTopState,'backTop');
  51. },
  52. handleScroll (){
  53. var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
  54. var offsetTop = document.querySelector('.h-nav-list').offsetTop;
  55. if (scrollTop > offsetTop) {
  56. this.headFixed = true;
  57. } else {
  58. this.headFixed = false;
  59. }
  60. }
  61. },
  62. destroyed (){
  63. window.removeEventListener('scroll',this.handleScroll)
  64. }
  65. }
  66. </script>