feat: Implement dynamic RSS ticker animation speed

This commit is contained in:
2025-10-31 11:43:52 +01:00
parent 7b9095f849
commit fa9534609c

View File

@@ -22,7 +22,7 @@
#ticker-content {
display: inline-block;
padding-left: 100%; /* Start off-screen */
animation: ticker-scroll 240s linear infinite;
}
@keyframes ticker-scroll {
0% { transform: translate3d(0, 0, 0); }
@@ -90,7 +90,20 @@
}
});
if (headlines.length > 0) {
document.getElementById('ticker-content').textContent = headlines.join(" | ");
const tickerContent = document.getElementById('ticker-content');
tickerContent.textContent = headlines.join(" | ");
// Calculate dynamic animation duration
const pixelsPerSecond = 50; // Adjust this value to change the perceived speed
const contentWidth = tickerContent.scrollWidth;
const animationDuration = contentWidth / pixelsPerSecond;
// Apply and restart animation
tickerContent.style.animationDuration = `${animationDuration}s`;
tickerContent.style.animation = 'none'; // Reset animation
void tickerContent.offsetWidth; // Trigger reflow
tickerContent.style.animation = 'ticker-scroll ${animationDuration}s linear infinite';
} else {
document.getElementById('ticker-content').textContent = "No headlines found in feed.";
}