
创建组件文件marquee.vue
<template>
<div class="scrollText" ref="outer">
<div class="st-inner" :class="{'st-scrolling': needToScroll}">
<span class="st-section" ref="inner">{
{text}}</span>
<span class="st-section" v-if="needToScroll">{
{text}}</span>
<!-- 加两条是为了滚动的时候实现无缝衔接 -->
</div>
</div>
</template>
<script>
export default {
data () {
return {
needToScroll: false,
text: ''
}
},
mounted () {
this.startCheck()
},
beforeDestroy () {
this.stopCheck()
},
methods: {
// 检查当前元素是否需要滚动
check () {
this.setText()
this.$nextTick(() => {
let flag = this.isOverflow()
this.needToScroll = flag
})
},
// 判断子元素宽
Vue.js 实现滚动走马灯组件

本文展示了如何在Vue.js中创建一个滚动走马灯组件,利用模板、数据绑定和方法处理文本溢出,实现无缝滚动效果。组件通过监听元素尺寸变化,动态判断是否需要启动滚动,并使用CSS动画实现平滑滚动效果。
最低0.47元/天 解锁文章
1万+





