<template>
<div class="test-box">
<div
class="test-block"
:style="{ transform: `translateY(-${topPx}px)`, transition: topPx === 0 ? `none 0s` : `all .5s ease-in-out` }"
v-for="(item, index) in testList"
:key="index"
>
{{ item }}
</div>
</div>
</template>
<script lang="ts" setup>
import { onMounted, ref } from 'vue';
let topPx = ref(0);
let testList = ref(['777777', '111111', '222222', '333333', '444444', '555555', '666666', '777777']);
onMounted(() => {
topPxChange();
});
function topPxChange() {
topPx.value += 50;
if (topPx.value >= testList.value.length * 50) {
topPx.value %= testList.value.length * 50; // 使用取模运算确保值在有效范围内循环
}
setTimeout(
() => {
topPxChange();
},
topPx.value === 0 ? 0 : 1500
);
}
</script>
<style lang="less" scoped>
.test-box {
width: 200px;
height: 50px;
background: #f0f0f0;
overflow: hidden;
.test-block {
width: 100%;
height: 100%;
line-height: 50px;
transition: all 0.5s ease-in-out;
}
}
</style>
Vue3 简单的实现文字无限滚动
原创
©著作权归作者所有:来自51CTO博客作者wx66c992fd496c9的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Vue3 实现一个简单的路由切换效果
Vue3 实现一个简单的路由切换效果
vue router -
一个快速的 Vue3 无限滚动组件
一个Vue的教程
无限滚动 数据 加载 -
Element Plus/vue3 无限级导航实现
在使用element plus 时,最初要使用的就是导航组件了,官网上看到的也就是写
elementui vue.js javascript 前端 sass -
vue3 elementui table 无限滚动
首先,在你的Vue2.x项目里安装@vue/composition-api插件,就可以使用 Vue3 中的 Composition ApI 了。这里不在对Vue Composition API做详细介绍,可直接参考官方文档, 本文用到的API有 setup, ref, onMounted, onBeforeUnmountIntersectionObserver API Inte
base scroll横向滚动 onmounted vue3 创建一个storageevent事件 API 无限滚动 -
android xml 画渐变圆角边框
在项目中经常会遇到各种各样的需求和效果,而这样一个随着页面变化的指示器则是比较普遍的需求。 具体需求是:在一个可左右滑动的页面顶部居中放置一个标识当前页面的指示器,在页面进行切换的时候当前页面的指示器从选中颜色渐变成默认颜色,而下个即将显示的指示器从默认颜色渐变成选中颜色。看下效果: 先创建一个继承至TextView的TextColorChangeView类public class TextCol
android xml 画渐变圆角边框 android flutter java android studio