Vue实现时间轴功能

 更新时间:2022年2月27日 22:19  点击:2759 作者:张建宇.

本文实例为大家分享了Vue实现时间轴功能的具体代码,供大家参考,具体内容如下

<template>
  <div class="container">
    <div class="content">
      <div class="coin" v-for="(item,index1) in Math.ceil((list.length+1)/4)" :key="index1" v-show="isShow==index1">
        <div class="xs_one"></div>
        <div
          class="coinAll"
          v-for="(item, index) in list"
          :key="index"
          :class="{ one: index%4==0 }"
          v-show="index<(index1+1)*4 && index+1>(index1)*4"
        >
          <span
            :class="{
              two: (index + 1) % 2 == 0,
              text_active: index == isIndex,
            }"
          >
            {{ item }}
          </span>
          <div class="xs" :class="{ xs_active: index == isIndex }"></div>
          <img src="../assets/img/coin1.png" alt="" v-show="index == isIndex" />
          <img src="../assets/img/coin2.png" alt="" v-show="index != isIndex" />
        </div>
      </div>
      <div class="paging" :style="{width:Math.ceil((list.length+1)/4)*20+'px'}">
        <div class="pagings" v-for="(item,index1) in Math.ceil((list.length+1)/4)" :key="index1" @click="tabList(index1)" :class="{is_activ:isShow==index1}">{{index}}</div>
      </div>
    </div>
  </div>
</template>
 
 
<script>
export default {
  data() {
    return {
      list: ["实施方案", "任务书", "中期检查", "项目验收", "分页功能1","分页功能1","分页功能1","分页功能1","分页功能2"], //列表
      isIndex: 0, //高亮显示
      isShow: 1, //显示
    };
  },
  methods:{
    tabList(idx){
      this.isShow=idx
    }
  }
};
</script>
 
 
<style scoped>
.content {
  width: 400px;
  height: 120px;
  background: rgb(9, 27, 70);
  position: relative;
}
.paging{
  height: 20px;
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translate(-50%);
}
.paging div{
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: rgb(120, 120, 120);
  float: left;
  margin-left: 5px;
}
.coin {
  width: 100%;
  height: 80px;
  background: rgb(9, 27, 70);
  position: relative;
  overflow-x: hidden;
}
.xs_one {
  width: 100%;
  height: 5px;
  background: rgb(61, 183, 270);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
.coin .coinAll {
  width: 100px;
  height: 100%;
  float: left;
  position: relative;
}
 
.coin .one {
  margin-left: -50px;
}
.coin .coinAll img {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
.coin .coinAll .xs {
  width: 100%;
  height: 5px;
  background: rgb(61, 183, 270);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
 
.coin .coinAll span {
  width: 100%;
  color: #fff;
  font-size: 16px;
  position: absolute;
  top: 5px;
}
.coin .coinAll .two {
  width: 100%;
  color: #fff;
  font-size: 16px;
  position: absolute;
  top: 55px;
}
 
/* 文字高亮 */
.coin .coinAll .text_active {
  color: rgb(245, 189, 39);
}
 
/* 线条高亮 */
.coin .coinAll .xs_active {
  background: rgb(245, 189, 39);
}
.paging .is_activ{
  background: rgb(26, 82, 229);
}
</style>

效果如图

新增分页

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持猪先飞。

原文出处:https://blog.csdn.net/m0_52035863/article/details/120040251

[!--infotagslink--]

相关文章

  • Vue基于localStorage存储信息代码实例

    这篇文章主要介绍了Vue基于localStorage存储信息代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-16
  • vue中activated的用法

    这篇文章主要介绍了vue中activated的用法,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下...2021-01-03
  • vue 监听 Treeselect 选择项的改变操作

    这篇文章主要介绍了vue 监听 Treeselect 选择项的改变操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-01
  • 基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能

    这篇文章主要介绍了基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-23
  • Antd-vue Table组件添加Click事件,实现点击某行数据教程

    这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17
  • vue 实现动态路由的方法

    这篇文章主要介绍了vue 实现动态路由的方法,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-06
  • vue treeselect获取当前选中项的label实例

    这篇文章主要介绍了vue treeselect获取当前选中项的label实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-01
  • Vue组件跨层级获取组件操作

    这篇文章主要介绍了Vue组件跨层级获取组件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-28
  • vue 获取到数据但却渲染不到页面上的解决方法

    这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
  • Vue中slot-scope的深入理解(适合初学者)

    这篇文章主要给大家介绍了关于Vue中slot-scope的深入理解,这个教程非常适合初学者,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-17
  • vuejs element table 表格添加行,修改,单独删除行,批量删除行操作

    这篇文章主要介绍了vuejs element table 表格添加行,修改,单独删除行,批量删除行操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-18
  • antdesign-vue结合sortablejs实现两个table相互拖拽排序功能

    这篇文章主要介绍了antdesign-vue结合sortablejs实现两个table相互拖拽排序功能,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-01-09
  • Vue 列表页带参数进详情页的操作(router-link)

    这篇文章主要介绍了Vue 列表页带参数进详情页的操作(router-link),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-13
  • vue+高德地图实现地图搜索及点击定位操作

    这篇文章主要介绍了vue+高德地图实现地图搜索及点击定位操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-09
  • vue cli4.0项目引入typescript的方法

    这篇文章主要介绍了vue cli4.0项目引入typescript的方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-17
  • vue项目页面嵌入代码块vue-prism-editor的实现

    这篇文章主要介绍了vue项目页面嵌入代码块vue-prism-editor的实现,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-30
  • Vue 3.0中jsx语法的使用

    这篇文章主要介绍了Vue 3.0 中 jsx 语法使用,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下...2020-11-13
  • vue3如何按需加载第三方组件库详解

    距离 Vue 3.0 正式版发布已经有一段时间了,关于vue3组件库相关的问题还是挺多人感兴趣的,这篇文章主要给大家介绍了关于vue3如何按需加载第三方组件库的相关资料,需要的朋友可以参考下...2021-06-02
  • vue项目多环境配置(.env)的实现

    最常见的多环境配置,就是开发环境配置,和生产环境配置,本文主要介绍了vue项目多环境配置的实现,感兴趣的可以了解一下...2021-07-20
  • vue实现同时设置多个倒计时

    这篇文章主要为大家详细介绍了vue实现同时设置多个倒计时,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-05-20