keyframes 動態translateX:
html:
<div class="marquee-container">
<div ref="marquee" class="marquee-content">
<div v-show="showMarquee" v-for="(announcement, index) in marqueeData" :key="announcement.id" class="marquee-item">{{
announcement.content }}</div>
</div>
<div class="more"><router-link :to="{ name: RouteConst.ROUTE_MESSAGES_PAGE }">更多</router-link></div>
</div>
js:
const marquee = ref<HTMLElement | null>(null);
const translatexDynamic = ((marqueeData.value.length-1) * -100) + '%'
marquee.value.style.setProperty('--animation-duration', `${animationDuration}s`);
marquee.value.style.setProperty('--marquee-translate', translatexDynamic);
less:
@keyframes marquee {
0% {
transform: translateX(100%);
}
100% {
transform: translateX(var(--marquee-translate));
}
}
全站熱搜