做一个主页导航

来源:互联网 发布:mac重装系统无法验证 编辑:程序博客网 时间:2024/05/17 03:48
 <div id="app" @click='hiddenNav()'>
    <router-view></router-view>
    <upimg></upimg>

    <nav class="cd-stretchy-nav">
      <a class="cd-nav-trigger" href="javascript:void(0);" @click.stop="trigger()">
        <span aria-hidden="true"></span>
      </a>
      <ul class="cd-stretchy-nav-ul">
        <router-link to="/index"><li><span></span></li></router-link>
      <router-link to="/user/index"><li><span></span></li></router-link>
      <router-link to="/shopping/cart"><li><span></span></li></router-link>
        <a href="javascript:void(0);">
          <li @click="Qcode()"><span></span></li>
        </a>
      </ul>
      <span aria-hidden="true" class="stretchy-nav-bg"></span>
    </nav>
  </div>


 methods:{
           hiddenNav(){
        var app = document.getElementById("app");
        var stretchyNavs = document.getElementsByClassName("cd-stretchy-nav")[0];
        stretchyNavs.className = "cd-stretchy-nav"
        this.hiddenNavWay()
      },
      trigger(){
        var stretchyNavs = document.getElementsByClassName("cd-stretchy-nav")[0];
        //var time;
        if(stretchyNavs.className.indexOf("nav-is-visible")<0){
          stretchyNavs.className = "cd-stretchy-nav nav-is-visible"
          //clearTimeout(time)
          document.getElementsByClassName("cd-stretchy-nav-ul")[0].style.display = "block"
        }else{
          stretchyNavs.className = "cd-stretchy-nav"
          this.hiddenNavWay()
        }
      },
      hiddenNavWay(){
        setTimeout(function(){
          var stretchyNavs = document.getElementsByClassName("cd-stretchy-nav")[0];
          if(stretchyNavs.className.indexOf("nav-is-visible")<0){
            document.getElementsByClassName("cd-stretchy-nav-ul")[0].style.display = "none"
          }
        },200)
      },
        wxConfig:function(){

      },
      Qcode:function(){
        this.$eventhub.$emit('qrcode','index');
      }
    }

 ul,
    li {
      list-stylenone;
      margin0;
      padding0;
    }

    .cd-stretchy-nav {
      positionfixed;
      z-index2;
      bottom0.42rem;
      right.02rem;
    }
    .stretchy-nav-bg {
      positionabsolute;
      z-index1;
      bottom0;
      right0;
      width.4rem;
      height.4rem;
      border-radius.3rem;
      backgroundrgba(255023.8);
      background-color#E8401E;
      opacity0.8;
      /*阴影*/
      box-shadow0 1px .04rem rgba(0000.2);
      -webkit-transition: height 0.15s, box-shadow 0.2s;
      transition: height 0.15s, box-shadow 0.2s;
    }
    .cd-stretchy-nav.nav-is-visible .stretchy-nav-bg {
  height100%;
  box-shadow0 .06rem .3rem rgba(0000.2);
}
.cd-nav-trigger {
  positionabsolute;
  z-index3;
  bottom0;
  right0;
  height.4rem;
  width.4rem;
  border-radius50%;
  overflowhidden;
  white-spacenowrap;
  colortransparent;
}
.cd-nav-trigger span, .cd-nav-trigger span::after, .cd-nav-trigger span::before {
  positionabsolute;
  width.16rem;
  height.02rem;
  background-color#ffffff;
}
.cd-nav-trigger span {
  left50%;
  top50%;
  bottomauto;
  rightauto;
  -webkit-transformtranslateX(-50%translateY(-50%);
  transformtranslateX(-50%translateY(-50%);
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
.cd-nav-trigger span::after, .cd-nav-trigger span::before {
  content'';
  top0;
  left0;
  -webkit-backface-visibilityhidden;
  backface-visibilityhidden;
  -webkit-transition: -webkit-transform 0.1s;
  transition: transform 0.1s;
}
.cd-nav-trigger span::before {
  -webkit-transformtranslateY(-.06rem);
  transformtranslateY(-.06rem);
}
.cd-nav-trigger span::after {
  -webkit-transformtranslateY(.06rem);
  transformtranslateY(.06rem);
}
.nav-is-visible .cd-nav-trigger span {
  background-colortransparent;
}
.nav-is-visible .cd-nav-trigger span::before {
  -webkit-transformrotate(-45deg);
  transformrotate(-45deg);
}
.nav-is-visible .cd-nav-trigger span::after {
  -webkit-transformrotate(45deg);
  transformrotate(45deg);
}

.cd-stretchy-nav ul {
  positionrelative;
  z-index2;
  padding-top.05rem;
  padding-bottom.35rem;
  visibilityhidden;
  display:none;
  -webkit-transition: visibility 0.3s;
  transition: visibility 0.3s;
  text-alignright;
}
.cd-stretchy-nav ul span {
  positionrelative;
  displayblock;
  width.4rem;
  height.4rem;
  line-height.4rem;
  colorrgba(2552552550.7);
  font-size1.4rem;
  -webkit-transitioncolor 0.2s;
  transitioncolor 0.2s;
}
.cd-stretchy-nav ul span::after {
  content'';
  positionabsolute;
  height.22rem;
  width.22rem;
  left0;
  right0;
  marginauto;
  top50%;
  -webkit-transformtranslateY(-50%scale(0);
  transformtranslateY(-50%scale(0);
}
.cd-stretchy-nav ul a{
  display:block;
  position:relative;
  z-index:2;
}

.cd-stretchy-nav.nav-is-visible ul {
  visibilityvisible;
}
.cd-stretchy-nav.nav-is-visible ul span::after {
  -webkit-transformtranslateY(-50%scale(1);
  transformtranslateY(-50%scale(1);
  -webkit-animation: scaleIn 0.15s backwards;
  animation: scaleIn 0.15s backwards;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.cd-stretchy-nav.nav-is-visible ul a:first-of-type li span::after{
  -webkit-animation-delay0.05s;
  animation-delay0.05s;
  backgroundurl(./assets/img/gift/icon_home.pngno-repeat center;
  background-sizecontain;
}
.cd-stretchy-nav.nav-is-visible ul a:nth-of-type(2) li span::after{
  -webkit-animation-delay0.1s;
  animation-delay0.1s;
  backgroundurl(./assets/img/gift/icon_index.pngno-repeat center;
  background-sizecontain;
}
.cd-stretchy-nav.nav-is-visible ul a:nth-of-type(3) li span::after{
  -webkit-animation-delay0.15s;
  animation-delay0.15s;
  backgroundurl(./assets/img/gift/icon_car.pngno-repeat center;
  background-sizecontain;
}
.cd-stretchy-nav.nav-is-visible ul a:nth-of-type(4) li span::after{
  -webkit-animation-delay0.15s;
  animation-delay0.15s;
  backgroundurl(./assets/img/gift/icon_code.pngno-repeat center;
  background-sizecontain;
}

原生JS,图的地址   http://pan.baidu.com/s/1o8p4ozS