JavaScript走马灯实现

HTML

html 复制代码
    <div class="marquee">
        <img src="./img/laba.png" alt="" />
        <div class="marquee-container">
            <div class="marquee-content"></div>
        </div>
    </div>

CSS

css 复制代码
.print {
    width: 100%;
    height: 400px;
    background-image: url('../img/xiehui.png');
    background-size: 100% 100%;
}

.marquee {
    width: 96%;
    height: 60px;
    margin-left: 2%;
    background-color: #fcfdfe;
    margin-top: -30px;
    border-radius: 10px;
}

.marquee img {
    width: 10%;
    margin-top: 10px;
    float: left;
}

.marquee-container {
    width: 87%;
    height: 30px;
    line-height: 30px;
    float: left;
    margin-top: 15px;
    margin-left: 2%;
    overflow: hidden;
    position: relative;
    text-wrap: nowrap;
    box-sizing: border-box;
}

.marquee-content {

    display: inline-block;
    position: absolute;
    text-wrap: nowrap;
}

JS

javascript 复制代码
function marquee(data) {
    console.log(data.data.announ[0].content);
    $('.marquee-content').html(data.data.announ[0].content);
    const container = document.querySelector('.marquee-container');
    const content = document.querySelector('.marquee-content');
    const containerWidth = container.offsetWidth;
    console.log(containerWidth);
    const contentWidth = content.scrollWidth;
    let startPosition = containerWidth;
    content.style.left = `${startPosition}px`;

    function animateMarquee() {
        startPosition--;
        if (startPosition < -contentWidth) {
            startPosition = containerWidth;
        }
        content.style.left = `${startPosition}px`;
        requestAnimationFrame(animateMarquee);
    }

    animateMarquee();
}

时间慢点 看的更清晰哈哈哈!

相关推荐
子兮曰3 小时前
async/await高级模式:async迭代器、错误边界与并发控制
前端·javascript·github
柳杉8 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau8 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生8 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
进击的尘埃8 小时前
AI 代码审查工具链搭建:用 AST 解析 + LLM 实现自动化 Code Review 的前端工程方案
javascript
juejin_cn8 小时前
[转][译] 从零开始构建 OpenClaw — 第五部分(对话压缩)
javascript
willow10 小时前
Promise由浅入深
javascript·promise
董员外10 小时前
LangChain.js 快速上手指南:Tool的使用,给大模型安上了双手
前端·javascript·后端
willow10 小时前
Generator与Iterator
javascript
wuhen_n11 小时前
Pinia状态管理原理:从响应式核心到源码实现
前端·javascript·vue.js