【Element】实现基于 Element UI el-tabs 的左右滑动动画

这篇具有很好参考价值的文章主要介绍了【Element】实现基于 Element UI el-tabs 的左右滑动动画。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实现基于 Element UI el-tabs 的左右滑动动画

引言

在构建现代 web 应用时,为用户提供平滑的动画效果是提升用户体验的关键。本篇博客将详细介绍如何在使用 Vue 以及 Element UI 时,实现一个具有左右滑动效果的 tab 切换动画。

使用 el-tabs 创建 tab 组件

首先,我们需要创建一个基础的 el-tabs 组件,用于展示不同的内容区域。

<template>
  <el-tabs v-model="activeName" @tab-click="handleTabClick">
    <el-tab-pane label="cpu" name="cpu">
      <cpu :class="tabContentClass"></cpu>
    </el-tab-pane>
    <el-tab-pane label="内存子系统" name="内存子系统">
      <nczxt :class="tabContentClass"></nczxt>
    </el-tab-pane>
  </el-tabs>
</template>

跟踪当前和上一次激活的 tab

我们希望了解用户是向左滑动还是向右滑动,为此需要知道当前和之前激活的 tab 的索引。

<script>
export default {
  data() {
    return {
      activeName: 'cpu',
      previousIndex: 0, // 上一个激活 tab 的索引
      currentIndex: 0 // 当前激活 tab 的索引
    };
  },
  methods: {
    handleTabClick(tab) {
      this.previousIndex = Number(this.currentIndex);
      this.currentIndex = Number(tab.index);
      this.$nextTick(() => {
        this.previousIndex = Number(this.currentIndex);
      });
    }
  },
  computed: {
    // 根据方向设置动画样式
    tabContentClass() {
      return {
        'slide-enter-active': true,
        'slide-leave-active': this.currentIndex > this.previousIndex,
        'slide-enter': this.currentIndex < this.previousIndex,
        'slide-leave-to': this.currentIndex > this.previousIndex
      };
    }
  }
};
</script>

动画样式

通过 CSS 我们定义了滑动进入以及滑动离开时的动画效果。

.slide-enter-active, .slide-leave-active {
  transition: all 0.5s;
}
.slide-enter {
  transform: translateX(100%);
  opacity: 0;
}
.slide-leave-to {
  transform: translateX(-100%);
  opacity: 0;
}

.slide-enter-active 和 .slide-leave-active 类负责定义动画的持续时间。
.slide-enter 类定义了新内容滑入的起始状态。
.slide-leave-to 类定义了旧内容滑出的终止状态。

结语

这样,我们就利用 Vue 的 computed 计算属性以及 CSS 过渡效果实现了一个简单而流畅的左右滑动动画效果,以增强 el-tabs 组件的交互体验。注意,这个效果只是一个基础的左右滑动动画,可以根据实际需要进行调整和增强。文章来源地址https://www.toymoban.com/news/detail-839491.html

到了这里,关于【Element】实现基于 Element UI el-tabs 的左右滑动动画的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Element-ui中el-tabs的下划线样式微调

    1.页面加载周期结束之后调用方法          2.写这个方法 3.el-tabs上绑定ref就可以了          4.结果:下划线就可以向左边偏移一点了,看起来更好看  

    2024年02月11日
    浏览(26)
  • 解决element ui中el-tabs标签点击切换闪屏问题

    现象:点击切换 element ui中el-tabs时候,table会出现闪一下的状况; 初始element ui中el-tabs组件代码如下: 使用v-if=\\\"activeName===\\\'first\\\'\\\" 解决闪屏   改造后代码如下:

    2024年02月07日
    浏览(35)
  • Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中

    目录 默认样式 修改默认字体颜色: 修改鼠标悬浮/选中字体颜色: 去掉长分割线并修改下划线颜色 完整代码 默认样式 注意事项:一定要在 style scoped不然修改的样式不会覆盖生效 修改默认字体颜色: 修改鼠标悬浮/选中字体颜色: 去掉长分割线并修改下划线颜色 完整代码

    2024年02月04日
    浏览(61)
  • element ui 的 el-tab 当使用 router-view 时 mounted 执行了多次

    之前参照很多文章修改试图修正这个问题,结果都徒劳,终于让我找到 参考 我做了如下修改,主页面 main.vue 之前参考某文章把 router-view 放在 el-tab-pane 外面都不起作用,问题根本不是出在 el-tab-pane,而是v-for 里面有多个route-view , keep-alive 时 tab 并未销毁掉,而是缓存隐藏了

    2024年02月12日
    浏览(31)
  • 修改element-ui中Tabs标签页下划线默认颜色的方法以及为什么设置了.el-tabs /deep/ .el-tabs__nav-wrap::after不起效果

    类似图上的灰色线段,这是Tabs的默认样式, 在项目中的路径位置在:node_modules/element-ui/theme-chalk/tag.css   (我原本想在源文件直接改颜色的,但是找了一圈不知道哪个是他的颜色哈哈哈) 方法是: /deep/ 深度作用操作符:可以使样式作用的更深,例如影响子组件。 同时,

    2024年02月09日
    浏览(32)
  • 基于element-ui el-slider实现滑动限位器

    应需求需要,要做一个滑动限位器,一通百度,一通谷歌,没有相对应的解决方案,所以只能自己上。过程有丢丢曲折,比较细的东西。所以耗时也长写。写出来有需要的可以参考 需求图如下: 上面的滑块是可以在区间【50-100】之间随意切换的。左边和右边也是可以随意拉

    2024年02月15日
    浏览(35)
  • 前端vue可以左右滚动的切换的tabs tabs选项卡 滑动动画效果 自动宽度

    前端vue可以左右滚动的切换的tabs tabs选项卡 滑动动画效果 自动宽度, 阅读全文下载完整代码请关注微信公众号: 前端组件开发 效果图如下:           #### 使用方法 ```使用方法 swiperTabList: [\\\"2023-06-10\\\",\\\"2023-06-11\\\",\\\"2023-06-12\\\",\\\"2023-06-13\\\",\\\"2023-06-14\\\",\\\"2023-06-15\\\"], //导航列表 swiperTabIdx:

    2024年02月08日
    浏览(36)
  • elment-ui el-tabs组件 每次点击后 created方法都会执行2次

    先看错误的 日志打印:  错误的代码如下: 正确的日志打印:  正确的代码如下:  前言:     在element-ui的tabs组件中,我们发现每次切换页面,所有的子组件都会重新渲染一次。当子页面需要发送数据请求并且子页面过多时,这样会过多的占用网络资源。这里我们可以使用 v-if

    2024年04月28日
    浏览(31)
  • 更改el-tabs默认样式,实现tab标签居中显示,标签对应内容使用另一个div显示

    首先看效果图 如图所示,标签在浏览器窗口居中,但是下面的内容依然是默认从左到右,不会受到tab样式的影响

    2024年03月17日
    浏览(42)
  • Element ui tabs组件左右箭头切换 (第一项为固定项)

    之前发布过一篇关于切换的 但是有点瑕疵 这次补充一下 data里没啥可看的 就是要渲染的数据定义 在生命周期里刚开始的时候判断了一下 看是否添加固定项 因为我这个是组件 这个是判断条数低于几条的时候不展示左右箭头 有需求的话看是开局就添加还是监测到数据了在触发

    2024年02月01日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包