<template>

< nav  class= "cd-stretchy-nav" >
     < a  class= "cd-nav-trigger"  href= "javascript:void(0);" @ click= 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 >
     </ ul >

     < span  aria-hidden= "true"  class= "stretchy-nav-bg" ></ span >
   </ nav >
< template >

     methods:{
       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"
           time= setTimeout( function(){
             document. getElementsByClassName( "cd-stretchy-nav-ul")[ 0]. style. display =  "none"
          }, 200)
        }
      },
       wxConfig: function(){

      },
    }
< style >
.cd-stretchy-nav {
   positionfixed;
   z-index2;
   bottom0.42rem;
   right2px;
}
.cd-stretchy-nav .stretchy-nav-bg {
   positionabsolute;
   z-index1;
   bottom0;
   right0;
   width40px;
   height40px;
   border-radius30px;
   backgroundrgba( 255023, .8);
   box-shadow0  1px  4px  rgba( 0000.2);
   -webkit-transition: height  0.2s, box-shadow  0.2s;
   transition: height  0.2s, box-shadow  0.2s;
}
.cd-stretchy-nav.nav-is-visible .stretchy-nav-bg {
   height100%;
   box-shadow0  6px  30px  rgba( 0000.2);
}

.cd-nav-trigger {
   positionabsolute;
   z-index3;
   bottom0;
   right0;
   height40px;
   width40px;
   border-radius50%;
   overflowhidden;
   white-spacenowrap;
   colortransparent;
}
.cd-nav-trigger span, .cd-nav-trigger span::after, .cd-nav-trigger span::before {
   positionabsolute;
   width16px;
   height2px;
   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.2s;
   transition: transform  0.2s;
}
.cd-nav-trigger span::before {
   -webkit-transformtranslateY( -6px);
   transformtranslateY( -6px);
}
.cd-nav-trigger span::after {
   -webkit-transformtranslateY( 6px);
   transformtranslateY( 6px);
}
.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-bottom35px;
   visibilityhidden;
   -webkit-transition: visibility  0.3s;
   transition: visibility  0.3s;
   text-alignright;
}
.cd-stretchy-nav ul span {
   positionrelative;
   displayblock;
   width40px;
   height40px;
   line-height40px;
   colorrgba( 2552552550.7);
   font-size1.4rem;
   -webkit-transitioncolor  0.2s;
   transitioncolor  0.2s;
}
.cd-stretchy-nav ul span::after {
   content'';
   positionabsolute;
   height22px;
   width22px;
   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/icon/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/icon/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/icon/icon_car.pngno-repeat  center;
   background-sizecontain;
}
</ style >


Logo

前往低代码交流专区

更多推荐