返回顶部
首页 > 资讯 > 精选 >vue怎么实现快进后退的跑马灯组件
  • 951
分享到

vue怎么实现快进后退的跑马灯组件

2023-06-29 22:06:28 951人浏览 独家记忆
摘要

这篇文章主要介绍了Vue怎么实现快进后退的跑马灯组件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue怎么实现快进后退的跑马灯组件文章都会有所收获,下面我们一起来看看吧。用vue编写一个可以快进后退的跑马灯组

这篇文章主要介绍了Vue怎么实现快进后退的跑马灯组件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue怎么实现快进后退的跑马灯组件文章都会有所收获,下面我们一起来看看吧。

用vue编写一个可以快进后退的跑马灯组件

由于业务需求,要实现一个会可以控制速度的跑马灯,初开始用js的setinterval每隔几毫秒来减取一个字符拼接到后面,效果不理想就放弃了。后查询用js的animate这个api改造大功告成!

效果图

vue怎么实现快进后退的跑马灯组件

组件代码

<template>  <div class="marquee" @mouseover="pause(true)" @mouseleave="pause()">    <i      class="marquee-btn btn-left el-icon-d-arrow-left"      @mousedown="speedUp(true)"      @mouseup="speedStop()"    ></i>    <div ref="marqueeText" class="marquee-text">      <div v-if="itemClick">        <span          v-for="item in text.split(splitSymbol)"          :key="item"          @click="$emit('itemClickEvent', item)"        >{{item + ' 、'}}</span>      </div>      <div v-else>{{text}}</div>    </div>    <i      class="marquee-btn btn-right el-icon-d-arrow-right"      @mousedown="speedUp()"      @mouseup="speedStop()"    ></i>  </div></template><script>export default {  name: "marquee",  props: {    text: {      type: String,      required: true    },    speed: {      type: Number,      required: false,      default: 110    },    // 是否每个都可以点击触发事件    itemClick: {      type: Boolean,      required: false,      default: false    },    // 每个触发事件元素的分割符号    splitSymbol: {      type: String,      required: false,      default: ''    }  },  data() {    return {      aniInstance: null,      speedTimer: null    };  },  methods: {    setAnimate() {      const contentWidth = this.$refs.marqueeText.scrollWidth;      const keyframes = [        { transfORM: "translateX(100%)" },        { transform: `translateX(-${contentWidth}px)` }      ];      const animateOptions = {        duration: (contentWidth / this.speed) * 1000,        iterations: Infinity,        easing: "linear"      };      this.aniInstance = document.querySelector(".marquee-text").animate(keyframes, animateOptions);    },        speedUp(isLeft = false) {      const set = () => {        if (this.aniInstance.currentTime > 0) {          this.aniInstance.currentTime = this.aniInstance.currentTime + (isLeft ? 2000 : -2000);          this.aniInstance.currentTime <= 0 && (this.aniInstance.currentTime = 0);        }      }      // 鼠标单击      set();      // 鼠标长按      this.speedTimer = setInterval(() => {        set()      }, 100);    },    // 快进停止    speedStop() {      clearInterval(this.speedTimer);      this.speedTimer = null;    },        pause(isPause = false) {      this.aniInstance[["play", "pause"][Number(isPause)]]();    }  },  mounted() {    this.$nextTick(() => {      this.setAnimate();    });  }};</script><style lang="less" scoped>.marquee {  position: relative;  padding: 10px 0;  overflow: hidden;  width: 100%;  font-size: 16px;  color: #fff;  background-image: linear-gradient(    to left,    #b9565e,    #cb655a,    #da7655,    #e58a50,    #eb9f4b  );  &:hover .marquee-btn {    opacity: 1;  }}.marquee-btn {  position: absolute;  top: 50%;  transform: translateY(-50%);  padding: 15px;  color: #fff;  background: rgba(1, 1, 1, 0.4);  z-index: 999;  cursor: pointer;  opacity: 0;  transition: all 0.2s linear;}.btn-left {  left: 0;}.btn-right {  right: 0;}.marquee-text {  white-space: nowrap;  span {    &:hover {      cursor: pointer;      color: #2c3e50;    }  }}</style>

父组件代码

<Marquee  :text="overdueInfo.content"  :itemClick="true"  :speed="120"  splitSymbol="、"  @itemClickEvent="marqueeSearch"  class="marquee-box__container"></Marquee>

关于“vue怎么实现快进后退的跑马灯组件”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“vue怎么实现快进后退的跑马灯组件”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: vue怎么实现快进后退的跑马灯组件

本文链接: https://lsjlt.com/news/326579.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue怎么实现快进后退的跑马灯组件
    这篇文章主要介绍了vue怎么实现快进后退的跑马灯组件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue怎么实现快进后退的跑马灯组件文章都会有所收获,下面我们一起来看看吧。用vue编写一个可以快进后退的跑马灯组...
    99+
    2023-06-29
  • vue实现可以快进后退的跑马灯组件
    本文实例为大家分享了vue开发实现跑马灯效果组件的具体代码,供大家参考,具体内容如下 用vue编写一个可以快进后退的跑马灯组件 由于业务需求,要实现一个会可以控制速度的跑马灯,初开始...
    99+
    2024-04-02
  • vue+animation怎么实现跑马灯效果
    这篇文章主要讲解了“vue+animation怎么实现跑马灯效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue+animation怎么实现跑马灯效果”吧!1、单行显示,每行只显示一条效...
    99+
    2023-06-29
  • vue实现简单的跑马灯效果
    本文实例为大家分享了vue实现简单跑马灯效果的具体代码,供大家参考,具体内容如下 效果图 代码 html <div id="app"> <button...
    99+
    2024-04-02
  • Android中怎么用TextView实现跑马灯效果
    这篇“Android中怎么用TextView实现跑马灯效果”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android中怎么...
    99+
    2023-06-29
  • 小程序怎么实现文字跑马灯效果
    本篇内容主要讲解“小程序怎么实现文字跑马灯效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序怎么实现文字跑马灯效果”吧!wxml<view>1 显示完后再显示</view...
    99+
    2023-06-26
  • android中怎么利用TextView实现跑马灯效果
    这篇文章给大家介绍android中怎么利用TextView实现跑马灯效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、要点设置四个属性android:singleLine="true"andro...
    99+
    2023-05-31
    android textview
  • css3怎么实现文字首尾衔接跑马灯
    本文将为大家详细介绍“css3怎么实现文字首尾衔接跑马灯”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“css3怎么实现文字首尾衔接跑马灯”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一...
    99+
    2023-06-08
  • 怎么在Android中利用TextView实现跑马灯效果
    怎么在Android中利用TextView实现跑马灯效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MainActivitypackage com.exampl...
    99+
    2023-06-15
  • 微信小程序怎么实现轮播图标题跑马灯
    这篇“微信小程序怎么实现轮播图标题跑马灯”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序怎么实现轮播图标题跑马灯”文...
    99+
    2023-07-02
  • 怎么在Android中利用TextView实现一个跑马灯效果
    这期内容当中小编将会给大家带来有关怎么在Android中利用TextView实现一个跑马灯效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。TextView的跑马灯效果也就是指当你只想让TextView单...
    99+
    2023-05-31
    textview android roi
  • react-router怎么实现前进后退
    本教程操作环境:Windows10系统、react18版、Dell G3电脑。react-router怎么实现前进后退?React-路由跳转方式与路由前进回退1、标签跳转//1.引入依赖 import { Link } from '...
    99+
    2023-05-14
    react-router
  • Vue如何实现文字过长隐藏跑马灯自动滚动的效果
    这篇文章主要讲解了“Vue如何实现文字过长隐藏跑马灯自动滚动的效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue如何实现文字过长隐藏跑马灯自动滚动的效果”吧!一、基本原理跑马灯效果的原...
    99+
    2023-07-06
  • Vue怎么实现app前进后退动画切换效果
    今天小编给大家分享一下Vue怎么实现app前进后退动画切换效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一丶首先配置路由...
    99+
    2023-07-04
  • vue旋转木马组件demo怎么实现
    本文小编为大家详细介绍“vue旋转木马组件demo怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue旋转木马组件demo怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。实现步骤1.确定组件类型确...
    99+
    2023-07-05
  • Vue子组件关闭后调用刷新父组件怎么实现
    这篇文章主要介绍了Vue子组件关闭后调用刷新父组件怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue子组件关闭后调用刷新父组件怎么实现文章都会有所收获,下面我们一起来看看吧。实现效果调用方法当在子组件...
    99+
    2023-07-05
  • vue-prop中怎么实现父组件向子组件进行传值
    这篇文章给大家介绍vue-prop中怎么实现父组件向子组件进行传值,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。vue-prop是父组件向子组件进行传递数据时使用的。例如子组件为chi...
    99+
    2024-04-02
  • vue怎么实现table-plus组件
    今天小编给大家分享一下vue怎么实现table-plus组件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。目的配置型表格多级...
    99+
    2023-06-30
  • Vue组件封装怎么实现
    这篇文章主要介绍“Vue组件封装怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue组件封装怎么实现”文章能帮助大家解决问题。一、组件封装的优势复用性:组件封装可以将常用的功能或视图模块抽象...
    99+
    2023-07-05
  • vue怎么实现组件内联
    本文小编为大家详细介绍“vue怎么实现组件内联”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么实现组件内联”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先,让我们来了解Vue组件内联的基础知识。Vue...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作