default.vue 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <template>
  2. <div>
  3. <v-header @returnHeadWhite="returnHeadWhite"></v-header>
  4. <back-top :backTopIsShow="headWhite" @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. headWhite: false
  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. returnHeadWhite(val) {
  49. this.headWhite = val
  50. },
  51. handleScroll (){
  52. var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
  53. var offsetTop = document.querySelector('.h-nav-list').offsetTop;
  54. if (scrollTop > offsetTop) {
  55. this.headFixed = true;
  56. } else {
  57. this.headFixed = false;
  58. }
  59. }
  60. },
  61. destroyed (){
  62. window.removeEventListener('scroll',this.handleScroll)
  63. }
  64. }
  65. </script>