<template>
  <div class="headerSection">
    <div class="header-container width1200">
      <router-link :to="{ path: '/' }"
                   class="logo">
        <img src="../assets/images/logoWhile.png"
             width="100%"
             alt="">
      </router-link>
      <div class="menu">
        <a :class="checkActive==1?'active':''"
           @click="change(1,'banner')">平台介绍</a>
        <a :class="checkActive==2?'active':''"
           @click="change(2,'infos')">产品优势</a>
        <a :class="checkActive==3?'active':''"
           @click="change(3,'detail')">考生指引</a>
        <a :class="checkActive==4?'active':''"
           @click="change(4,'videoList')">操作指南</a>
        <a :class="checkActive==5?'active':''"
           @click="change(5,'consult')">行业资讯</a>
        <a :class="checkActive==6?'active':''"
           @click="change(6,'aboutUs')">关于我们</a>
        <div class="bandBtn"
             @click="goKu">合作机构登录</div>
      </div>
    </div>
  </div>
</template>
<script>
import Bus from '../views/index/blocks/eventBus'
import { scrollAnimation } from '@/util/scroll'
export default {
  name: 'headerSection',
  props: ['name'],
  data () {
    return {
      checkActive: 1,
      topList: []
    }
  },
  created () {

  },
  mounted () {
    scrollTo(0, 0);
    let url = this.$route
    if (url.path.indexOf('detile') != -1) {
      this.checkActive = 5
    }
    this.$nextTick(res => {
      this.topList = this.getTop(['banner', 'infos', 'detail', 'videoList', 'consult', 'aboutUs'])
    })

    window.addEventListener('scroll', this.onContentScroll, true)
    Bus.$on('gotoDetail', (res => {
      // 控制页面滚动
      this.change(3, 'detail')
    }))
  },
  methods: {
    getTop (nameList) {
      let arr = []
      nameList.forEach(item => {
        let top = document.getElementById(item).offsetTop - 78
        arr.push(top)
      })
      arr.sort(function (a, b) { return a - b });
      return arr
    },
    change (num, name) {
      let url = this.$route.path
      let top = document.getElementById(name).offsetTop - 76
      const currentY = document.documentElement.scrollTop || document.body.scrollTop
      if (url != '/') {
        this.$router.push('/')
        this.checkActive = num;

        scrollAnimation(currentY, top)
        // scrollTo(0, top);
      } else {
        this.checkActive = num;
        scrollAnimation(currentY, top)
        // scrollTo(0, top);
      }
    },
    goKu () {
      window.open('https://kj.colexiu.com/#/login?returnUrl=%2F', '_blank');
    },

    onContentScroll (e) {
      // this.topList = this.getTop(['banner', 'infos', 'detail', 'videoList', 'consult', 'aboutUs'])
      let target = e.target || e.srcElement
      this.scrollTop = target.scrollingElement.scrollTop
      if (this.scrollTop < this.topList[1]) {
        this.checkActive = 1
      } else if (this.scrollTop >= this.topList[1] && this.scrollTop < this.topList[2]) {
        this.checkActive = 2
      } else if (this.scrollTop >= this.topList[2] && this.scrollTop < this.topList[3]) {
        this.checkActive = 3
      } else if (this.scrollTop >= this.topList[3] && this.scrollTop < this.topList[4]) {
        this.checkActive = 4
      } else if (this.scrollTop >= this.topList[4] && this.scrollTop < this.topList[5]) {
        this.checkActive = 5
      } else if (this.scrollTop >= this.topList[5]) {
        this.checkActive = 6
      }
    },
  }
}
</script>

<style lang="less" scoped>
.bandBtn {
  width: 112px;
  height: 30px;
  background: #2dc7aa;
  // border-radius: 4px;
  color: #fff;
  margin-left: 70px;
  line-height: 30px;
  cursor: pointer;
  position: relative;
  &:hover {
    background-color: #2ac0a3;
  }
}
.wall {
  height: 82px;
}
.headerSection {
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  width: 100%;
  top: 0px;
  z-index: 1000;
  .header-container {
    margin: 0 auto;
    // overflow: hidden;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    height: 76px;
  }
  .logo {
    // float: left;
    width: 159px;
    height: 48px;
  }
  .menu {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    align-items: center;
    a {
      cursor: pointer;
      margin-left: 44px;
      color: #fff;
      text-decoration: none;
      position: relative;
      // display: block;
      text-decoration: none;
      text-transform: uppercase;
      transition: 0.5s;
      &::after {
        position: absolute;
        content: "";
        top: 180%;
        left: 25%;
        width: 50%;
        height: 3px;
        background-color: #2dc7aa;
        z-index: 100;
        transform: scaleX(0);
        transform-origin: right;
        transition: transform 0.5s;
      }
      &:hover,
      &.hover {
        color: #2dc7aa;
        font-weight: 600;
      }
      &:hover::after {
        transform: scaleX(1);
        transform-origin: left;
      }
    }
  }
  a.active {
    color: #2dc7aa !important;
    font-weight: 600;
    &::after {
      position: absolute;
      content: "";
      top: 180%;
      left: 25%;
      width: 50%;
      height: 3px;
      background-color: #2dc7aa;
      z-index: 100;
      transform: scaleX(1);
      transform-origin: left;
    }
  }
}
</style>

