<template>
<div>
<button @click="toggleScroll">
{{ isScrolling ? "停止滚动" : "开始滚动" }}
</button>
<div ref="textContainer" class="text-container">
{{ longText }}
</div>
</div>
</template>
<script>
export default {
data() {
return {
isScrolling: false,
timer: null,
longText: "这是一段很长的文本...",
};
},
methods: {
toggleScroll() {
if (this.isScrolling) {
this.stopScroll();
} else {
this.startScroll();
}
},
startScroll() {
this.isScrolling = true;
this.timer = setInterval(() => {
const container = this.$refs.textContainer;
container.scrollTop += 1;
if (
container.scrollTop >=
container.scrollHeight - container.clientHeight - 1
) {
this.stopScroll();
}
}, 20);
},
stopScroll() {
this.isScrolling = false;
clearInterval(this.timer);
this.timer = null;
this.$refs.textContainer.scrollTop = 0;
},
},
};
</script>
vue 按钮控制文字自动滚动
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。