vue+animation动画实现跑马灯效果

 更新时间:2022年04月07日 12:24:29   作者:Upward Force  
这篇文章主要为大家详细介绍了vue+animation动画实现跑马灯效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了vue+animation动画实现跑马灯效果的具体代码,供大家参考,具体内容如下

1、单行显示,每行只显示一条

效果图

上代码

<template>
  <div class="container">
    <div class="box">
      <!-- 假设lists列表有4个项,设置ul的宽度为800%(相对于box),设置li的宽度为12.5%(相对于ul是12.5%;相对于box是100%),但是li要有8个,其中4个是复制的,用来占位 -->
      <ul :style="'width:' + lists.length * 100 * 2 + '%;animation-duration:' + lists.length*2 + 's;'">
        <li :style="'width:' + 100 / (lists.length * 2) + '%;'" v-for="(item, index) in lists" :key="index">
          <div class="content">{{item.name}}</div>
        </li>
        <li :style="'width:' + 100 / (lists.length * 2) + '%;'" v-for="(item, index) in lists" :key="index">
          <div class="content">{{item.name}}</div>
        </li>
      </ul>
    </div>
  </div>
</template>

<script>
export default {
  name: "activity",
  data() {
    return {
      lists: [
        { name: "马云阿萨" },
        { name: "雷军的" },
        { name: "王勤啊啊啊啊" },
        { name: "等伦伦" }
      ]
    };
  },
};
</script>

<style scoped>
.box {
  width: 100%;
  height: 0.6rem;
  background-color: #b32855;
  overflow: hidden;
}
.box ul {
  animation-name: move;
  /* 在style中动态设置每一个li花费的时间为2s */
  /* animation-duration: 8s; */
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
ul li {
  float: left;
  height: 0.6rem;
  display: flex;
  align-items: center;
}
ul li .content {
  height: 0.4rem;
  padding: 0 0.2rem;
  border-radius: 0.2rem;
  background-color: rgba(0, 0, 0, 0.2);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-around;
}
@keyframes move {
  0% {
    transform: translateX(0);
  }
  100% {
    /* 平移自身宽度的50%,ul宽度的50%,剩下的那50%用来在下一次显示时占位 */
    transform: translateX(-50%);
  }
}
</style>

2、单行显示,每行显示多条

效果图

上代码

<template>
  <div class="container">
    <div class="box">
      <!-- 假设lists列表有4个项,设置ul的宽度为400%(相对于box),设置li的宽度为12.5%(相对于ul是12.5%;相对于box是50%),但是li要有8个,其中4个是复制的,用来占位 -->
      <ul :style="'width:' + lists.length * 100 + '%;animation-duration:' + lists.length*2 + 's;'">
        <li :style="'width:' + 100 / (lists.length * 2) + '%;'" v-for="(item, index) in lists" :key="index">
          <div class="content">{{item.name}}</div>
        </li>
        <li :style="'width:' + 100 / (lists.length * 2) + '%;'" v-for="(item, index) in lists" :key="index">
          <div class="content">{{item.name}}</div>
        </li>
      </ul>
    </div>
  </div>
</template>

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

相关文章

  • vue实现动态显示与隐藏底部导航的方法分析

    vue实现动态显示与隐藏底部导航的方法分析

    这篇文章主要介绍了vue实现动态显示与隐藏底部导航的方法,结合实例形式分析了vue.js针对导航隐藏与显示的路由配置、事件监听等相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • element实现合并单元格通用方法

    element实现合并单元格通用方法

    这篇文章主要介绍了element实现合并单元格通用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • vue使用el-upload实现文件上传功能

    vue使用el-upload实现文件上传功能

    这篇文章主要为大家详细介绍了vue使用el-upload实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • vue实现记事本功能

    vue实现记事本功能

    这篇文章主要为大家详细介绍了vue实现记事本功能,记事本可以进行添加删除事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Vue.js性能优化N个技巧(值得收藏)

    Vue.js性能优化N个技巧(值得收藏)

    本文主要还是针对 Vue.js 2.x 版本,毕竟接下来一段时间,Vue.js 2.x 还是我们工作中的主流版本,对vue.js性能优化技巧相关知识感兴趣的朋友一起看看吧
    2021-09-09
  • Vue3获取和操作DOM元素的项目实践

    Vue3获取和操作DOM元素的项目实践

    在Vue3中,有时我们需要直接操作DOM节点,本文主要介绍了Vue3获取和操作DOM元素的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • vue父组件向子组件(props)传递数据的方法

    vue父组件向子组件(props)传递数据的方法

    这篇文章主要介绍了vue父组件向子组件(props)传递数据的方法,文中给大家补充介绍了vue父子组件间传值(props)的实现代码,需要的朋友可以参考下
    2018-01-01
  • vue与iframe之间的交互方式(一看就会)

    vue与iframe之间的交互方式(一看就会)

    这篇文章主要介绍了vue与iframe之间的交互方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Vue3中使用vuedraggable拖拽实战教程

    Vue3中使用vuedraggable拖拽实战教程

    这篇文章主要介绍了Vue3中使用vuedraggable拖拽实战教程,文中通过示例介绍了vue3拖拽组件vuedraggable的使用demo,需要的朋友可以参考下
    2023-06-06
  • vue3 关于reactive的重置问题及解决

    vue3 关于reactive的重置问题及解决

    这篇文章主要介绍了vue3 关于reactive的重置问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05

最新评论