vue navbar tabbar导航条根据位置移动实现定位、颜色过渡动画效果的代码

vant文档:Vant 2 - Mobile UI Components built on Vue

实现效果:

代码实现:

1.navbar、tabbar顶部导航过渡效果、颜色过渡;

<div class="mallHead">
        <van-nav-bar :title="titleName" fixed @click-left="onClickLeft" :style="style" safe-area-inset-top>
          <template #left>
            <van-icon name="arrow-left" size="22px" color="#024EE0" />
          </template>
        </van-nav-bar>
        <div class="top"></div>
</div>
<div :class="indexTop>220?'menuActive':'dropdown-menu'" >
        <van-dropdown-menu>
          <van-dropdown-item v-model="amountValue" :options="amountOption" />
          <van-dropdown-item v-model="integralValue" :options="integralOption" />
          <van-dropdown-item v-model="goodsValue" :options="goodsOption" />
        </van-dropdown-menu>
</div>

css样式

.mallHead ::v-deep.van-nav-bar{
  background: none;
  .van-icon-arrow-left{
    color:#fff !important;
  }
  .van-nav-bar__title{
    color:#fff;
  }
}
.mallHead ::v-deep.van-nav-bar::after{
  border: 0;
}

.menuActive{
  box-shadow: none;
  background:#fff;
  width: 100%;
  position: fixed;
  top: 92px;
  left: 0;
  z-index: 1;
}

2.定义data

data(){
    return {
        style:null,
        indexTop:0,// 滚动条高度
        amountValue:0,
        amountOption:[
            { text: '兑换量从高到底', value: 0 },
            { text: '积分从低到高', value: 1 },
            { text: '积分从高到低', value: 2 },
          ],
        .......
    }
}

3.methods方法定义

mounted(){
    window.addEventListener('scroll', this.handleScroll,true);
  },
  destroyed() {
    window.removeEventListener('scroll', this.handleScroll);
  },

定义handleScroll方法

Math.abs(Math.round(this.indexTop)) / 100; 自行定义

handleScroll(){
      this.indexTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; // 计算出移动位置
      const opacity = Math.abs(Math.round(this.indexTop)) / 100; // 根据位置移动动态设置背景透明度
      this.style = { background: `rgba(253,85,39,${opacity})`};
}

到此这篇关于vue navbar tabbar导航条根据位置移动实现定位、颜色过渡动画效果的文章就介绍到这了,更多相关vue navbar tabbar导航条内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • vue navbar tabbar导航条根据位置移动实现定位、颜色过渡动画效果的代码

    vant文档:Vant 2 - Mobile UI Components built on Vue 实现效果: 代码实现: 1.navbar.tabbar顶部导航过渡效果.颜色过渡: <div class="mallHead"> <van-nav-bar :title="titleName" fixed @click-left="onClickLeft" :style="style" safe-area-in

  • Vue中实现过渡动画效果示例代码

    目录 Vue的transition动画 Transition动画的使用 Transition组件的原理 Transition动画的class Vue的animation动画 Animation动画的使用 同时设置两种动画(了解) 过渡的模式mode 列表过渡 列表过渡的介绍 列表过渡的使用 Vue的transition动画 Transition动画的使用 在开发中,我们想要给一个组件的显示和消失添加某种过渡动画,可以很好的增加用户体验: React框架本身并没有提供任何动画相关的API,所以在R

  • 解决Vue 刷新页面导航显示高亮位置不对问题

    首先:现在是我点击在产品介绍页面 但是当我刷新页面后高亮位置就变成了第一个 在头部组件里面控制导航高亮显示是checked,默认值是0,触发点击事件会重新赋值,跳转路由,当刷新页面,checked值是0,所以要监听checked时刻发生变化:利用到vue的父子和子父传值:监听状态的变化 子页面将值传给父页面 父页面接收传过来的值 父组件把值传给header头部组件,头部组件通过prop接收 所有的 prop 都使得其父子 prop 之间形成了一个单向下行绑定:父级 prop 的更新会向下流动到子

  • vue框架制作购物车小球动画效果实例代码

    最近在学习前端制作了一个购物车小球的动画效果 直接上图看看效果 下面介绍一下制作这个动画的详细过程: 1.因为使用vue锁业需要使用transition标签包裹 并指定动画三个动画生命周期函数 <transition @before-enter="beforeEnter" @enter="enter" @after-enter="afterEnter"> <div class="ball" v-if=&quo

  • Vue中实现过渡动画效果实例详解

    目录 Vue的transition动画 Transition动画的使用 Transition组件的原理 Transition动画的class Vue的animation动画 Animation动画的使用 过渡的模式mode 列表过渡 列表过渡的介绍 列表过渡的使用 总结 Vue的transition动画 Transition动画的使用 在开发中,我们想要给一个组件的显示和消失添加某种过渡动画,可以很好的增加用户体验: React框架本身并没有提供任何动画相关的API,所以在React中使用过渡动

  • Vue入门之animate过渡动画效果

    简介: transition方法的使用 transition内置方法 transition-group animate库实现过渡动画 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scal

  • vue中组件的过渡动画及实现代码

    1.  和多个元素的过渡一样,用组件来替换transition中包裹的标签 <style> .fade-enter, .fade-leave-to { opacity: 0 } .fade-enter-active, .fade-leave-active { transition: opacity 2s } </style> </head> <body> <div id="demo"> <button @click=&q

  • vue-router之实现导航切换过渡动画效果

    过渡动效 提供了transition的封装组件,添加过渡动画,通过添加或删除css类名来实现. 过渡的css类名: v-enter 进入过渡的开始状态 v-enter-active 进入活动状态 v-enter-to 进入的结束状态 v-leave 离开过渡的开始状态 v-leave-active 离开活动状态 v-leave-to 离开结束状态 过渡模式: in-out 先进后出 out-in 先出后进 用法: 做一个淡隐淡出效果 把想要运动的元素放到<transition></tra

  • Vue实现Tab标签路由效果并用Animate.css做转场动画效果的代码第1/3页

    类似于浏览器窗口一样的路由切换逻辑,看着还是挺高大上的,本以为有很多高级的玩意儿,奈何复杂的东西总是由简单的东西拼接而成的,这个功能也不例外. 本篇文章主要描述两个问题: 如何实现这种Tab标签页的路由效果 如何为路由切换添加转场动画. 该功能的开发主要使用到 AntDesignVue 组件库的Tab组件和 Animate.css 效果如下: Tab标签页实现 首先是该组件的模板部分, ContextMenu 组件是我们自定义的右键菜单,后面会说到. a-tabs 组件则是 ant 的组件,具体

  • Bootstrap导航条可点击和鼠标悬停显示下拉菜单

    使用Bootstrap导航条组件时,如果你的导航条带有下拉菜单,那么这个带下拉菜单的导航在点击时只会浮出下拉菜单,它本身的href属性会失效,也就是失去了超链接功能,这并不是我想要的,我希望导航条的链接可以正常打开它的链接,但又需要下拉菜单功能,开始折腾~ 首先解决带下拉菜单的导航条可以点击问题,下拉菜单效果是JS实现的,分析bootstrap.js文件发现,Bootstrap把下拉菜单写成了一个JQuery插件,在dropdown代码段中找到了关键的几句: // APPLY TO STANDA

随机推荐