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 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
百锦再3 小时前
React编程高级主题:测试代码
android·前端·javascript·react.js·前端框架·reactjs
颜酱5 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
m0_736919105 小时前
C++代码风格检查工具
开发语言·c++·算法
2501_944934735 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
小迷糊的学习记录5 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜5 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
黎雁·泠崖6 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
不爱吃糖的程序媛6 小时前
Flutter 与 OpenHarmony 通信:Flutter Channel 使用指南
前端·javascript·flutter
利刃大大6 小时前
【Vue】Element-Plus快速入门 && Form && Card && Table && Tree && Dialog && Menu
前端·javascript·vue.js·element-plus