首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

图片不间断向上滚动js代码

要实现图片不间断向上滚动的效果,可以使用JavaScript结合CSS动画来完成。以下是一个简单的示例代码,展示了如何实现这一效果:

HTML结构

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>图片不间断向上滚动</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="scrolling-container">
        <div class="scrolling-content">
            <img src="image1.jpg" alt="Image 1">
            <img src="image2.jpg" alt="Image 2">
            <img src="image3.jpg" alt="Image 3">
            <!-- 可以继续添加更多图片 -->
        </div>
    </div>
    <script src="script.js"></script>
</body>
</html>

CSS样式

代码语言:txt
复制
/* styles.css */
body {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-color: #f0f0f0;
}

.scrolling-container {
    width: 80%;
    overflow: hidden;
    position: relative;
}

.scrolling-content {
    display: flex;
    flex-direction: column;
    animation: scroll-up 10s linear infinite;
}

.scrolling-content img {
    width: 100%;
    height: auto;
}

@keyframes scroll-up {
    0% {
        transform: translateY(100%);
    }
    5% {
        transform: translateY(0);
    }
    95% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-100%);
    }
}

JavaScript代码

代码语言:txt
复制
// script.js
document.addEventListener("DOMContentLoaded", function() {
    const container = document.querySelector('.scrolling-container');
    const content = document.querySelector('.scrolling-content');

    // 复制内容以实现无缝滚动
    const clone = content.cloneNode(true);
    container.appendChild(clone);

    // 调整动画持续时间以匹配内容高度
    const contentHeight = content.offsetHeight;
    const duration = (contentHeight / container.offsetHeight) * 10;
    content.style.animationDuration = `${duration}s`;
    clone.style.animationDuration = `${duration}s`;
});

解释

  1. HTML结构:创建一个包含图片的容器,并在其中放置多个图片元素。
  2. CSS样式:使用CSS动画@keyframes定义向上滚动的动画效果。通过设置transform: translateY()来实现滚动效果。
  3. JavaScript代码:在DOM加载完成后,复制滚动内容并将其附加到容器中,以实现无缝滚动效果。同时,动态调整动画持续时间以匹配内容的高度。

应用场景

  • 轮播广告:在网站顶部或底部展示不断滚动的广告图片。
  • 新闻滚动条:在新闻网站中显示最新的新闻标题或摘要。
  • 社交媒体动态:在社交媒体页面中展示用户动态或推荐内容。

优势

  • 动态效果:吸引用户注意力,提升用户体验。
  • 自动化展示:无需人工干预,自动循环播放内容。
  • 灵活性:可以轻松添加或删除图片,适应不同的展示需求。

通过以上代码和解释,你应该能够实现一个简单且高效的不间断向上滚动图片效果。如果遇到任何问题,可以检查CSS动画设置和JavaScript逻辑是否正确。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券