Vue开发组件之替代marquee标签,超出宽度文字横向滚动效果

本文介绍了一种基于Vue的滚动字幕组件实现方案,包括通过npm安装自定义组件及直接引入组件两种方式。该组件可根据文本长度自动触发横向滚动效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、npm 安装

如果你想安装插件(自己写的)
安装

install dependencies

npm i marquee-components

使用

在main.js引入

import marquee from ‘marquee-components’
Vue.use(marquee );

在页面使用

<template>
  <div id="app">
       <marquee :val="msg"></marquee>
  </div>
</template>
<script>
export default {
  name: 'app',
  data () {
    return {
      msg: 'vuevuevuevuevuevuevuevuevuevuevuevuevuevuevuevuevue'
    }
  }
}
</script>

val后加文字即可,当超过文本容器长度时,触动横向滚动效果。
二、直接引入组件

marquee组件

<template>
  <div class="marquee-wrap">
    <div class="scroll">
      <p class="marquee">{{text}}</p>
      <p class="copy"></p>
    </div>
    <p class="getWidth">{{text}}</p>
  </div>
</template>

<script>
export default {
  name: 'marquee',
  props: ['val'],
  data () {
    return {
      timer: null,
      text: ''
    }
  },
  created () {
    let timer = setTimeout(() => {
      this.move()
      clearTimeout(timer)
    }, 1000)
  },
  mounted () {
    for (let item of this.val) {
      this.text += ' ' + item
    }
  },
  methods: {
    move () {
      let maxWidth = document.querySelector('.marquee-wrap').clientWidth
      let width = document.querySelector('.getWidth').scrollWidth
      if (width <= maxWidth) return
      let scroll = document.querySelector('.scroll')
      let copy = document.querySelector('.copy')
      copy.innerText = this.text
      let distance = 0
      this.timer = setInterval(() => {
        distance -= 1
        if (-distance >= width) {
          distance = 16
        }
        scroll.style.transform = 'translateX(' + distance + 'px)'
      }, 20)
    }
  },
  beforeDestroy () {
    clearInterval(this.timer)
  }
}
</script>

<style scoped>
  .marquee-wrap {
    width: 100%;
    overflow: hidden;
    position: relative;
  }
  .marquee{
    margin-right: 16px;
  }
  p {
    word-break:keep-all;
    white-space: nowrap;
    font-size: 16px;
    font-family: "微软雅黑 Light";
  }
  .scroll {
    display: flex;

更多请见:http://www.mark-to-win.com/tutorial/50779.html

### 如何在 Linux 系统安装 ServerAgent #### 准备工作 确保系统已准备好进行软件安装。对于某些环境可能需要关闭防火墙和服务保护机制来避免干扰。 为了防止安全设置阻止新服务运行,在开始之前可以考虑执行如下操作以停用这些防护措施[^3]: ```bash sudo systemctl stop firewalld sudo systemctl disable firewalld sudo setenforce 0 ``` #### 下载并解压ServerAgent压缩包 前往官方文档或资源页面下载适用于Linux系统的`ServerAgent.zip`文件。使用wget或其他方法将其保存到目标机器上之后,利用`unzip`命令解开此压缩档案[^2]: ```bash unzip ServerAgent.zip -d /opt/serveragent/ ``` 这会把必要的脚本和二进制文件放置在一个指定目录内以便后续访问。 #### 启动ServerAgent服务 进入刚刚创建好的ServerAgent目录,并通过下面两种方式之一启动ServerAgent服务: - 使用给定的shell script直接调用: ```bash cd /opt/serveragent/ ./startAgent.sh ``` - 或者采用更通用的方式传递script名称作为参数给sh解释器: ```bash sh startAgent.sh ``` 此时,默认情况下ServerAgent将会监听于TCP端口4444等待连接请求到来[^1]。 #### 验证安装成功与否 可以通过查询当前活动网络连接状态以及查找特定进程名的方法确认ServerAgent确实已经正常运作: 查看是否有名为`serveragent`的服务正在占用预期中的端口号(这里是4444): ```bash netstat -ntlp | grep :4444 ``` 另外也可以借助ps指令定位是否存在对应的Java应用程序实例存在: ```bash ps aux | grep serveragent ``` 如果上述任一命令返回了合理的结果,则说明ServerAgent已被正确部署并且处于就绪状态[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值