vue内容横向循环滚动_Vue替代marquee标签超出宽度文字横向滚动效果

本文介绍了如何在Vue中创建一个替代marquee标签的功能,通过自定义组件实现文字超出容器宽度时的横向滚动效果。首先,可以使用npm安装marquee-components插件并在main.js中引入。然后,在组件中处理滚动逻辑,监听文本变化并调整滚动位置。通过CSS控制滚动容器的样式,最终达到平滑滚动的效果。
摘要由CSDN通过智能技术生成

一、npm 安装

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

安装

# install dependencies

npm i marquee-components

使用

在main.js引入

import marquee from 'marquee-components'

vue.use(marquee );

在页面使用

export default {

name: 'app',

data () {

return {

msg: 'vuevuevuevuevuevuevuevuevuevuevuevuevuevuevuevuevue'

}

}

}

val后加文字即可,当超过文本容器长度时,触动横向滚动效果。

二、直接引入组件

marquee组件

{{text}}

{{text}}

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)

}

}

.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;

}

.getwidth {

word-break:keep-all;

white-space:nowrap;

position: absolute;

opacity: 0;

top: 0;

}

其他页面引入marquee组件

import marquee from './marquee'

name: 'index',

components: {

marquee

},

data () {

return {

title: ''

}

},

总结

以上所述是小编给大家介绍的vue替代marquee标签超出宽度文字横向滚动效果,希望对大家有所帮助

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值