按钮切换动画

2020-12-25  本文已影响0人  八妹sss
<div class="btn-wrapper">
  <div class="slider"
    :class="{
       'to-left':currentChoose === 'latest',
       'to-right':currentChoose === 'hottest'
     }"></div>
 <ul class="btn-list">
   <li class="btn-item"
     @click="currentChoose = 'latest'"
     :class="{active: currentChoose === 'latest', android: !isIOS()}">最新</li>
   <li class="btn-item"
     @click="currentChoose = 'hottest'"
     :class="{active: currentChoose === 'hottest', android: !isIOS()}">最热</li>
 </ul>
</div>
<script>
import scroll from '@/components/scroll'
import tabScrollable from '../components/tabScrollable'
import newsBox from '../components/newsBox'
import liveBox from '../components/liveBox'
import openClassBox from '../components/openClassBox'
import videoBox from '../components/videoBox'
import pdfBox from '../components/pdfBox'
import previewVideo from '../components/previewVideo'
import noData from '@/views/components/noData'
export default {
  name: 'milkList',
  components: {
    scroll,
    tabScrollable,
    newsBox,
    liveBox,
    openClassBox,
    videoBox,
    pdfBox,
    previewVideo,
    noData
  },
  data () {
    return {
      // 最新最热文章相关
      currentChoose: 'latest'
    }
  }
}
</script>
<style lang="stylus" scoped>
    .btn-wrapper
      width 93px
      height 36px
      background #EAEAEA
      border-radius 18px
      position relative
      .slider
        width 48px
        height 36px
        background #FFC700
        color #000000
        border-radius 18px
        position absolute
        top 50%
        left 0
        transform translate(0, -50%)
        &.to-left
          left 0px
          transition left 0.5s
        &.to-right
          left 45px
          transition left 0.5s
      .btn-list
        width 93px
        height 36px
        border-radius 18px
        display flex
        align-items center
        position absolute
        top 50%
        left 50%
        transform translate(-50%, -50%)
        z-index 5
        .btn-item
          width 45px
          height 36px
          line-height 18px
          text-align center
          padded_box(border-box, 9px 0)
          font-size: 13px;
          font-family: 'PingFangSC-Regular', 'PingFang SC';
          color: #878B8D;
          &.android
            padding-top 11px
          &.active
            width 48px
            color #000000
            transition color 0.5s
</style>

效果图:


image.png
上一篇下一篇

猜你喜欢

热点阅读