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();
}

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

相关推荐
代码or搬砖4 小时前
String字符串
android·java·开发语言
十一.3664 小时前
131-133 定时器的应用
前端·javascript·html
leo__5205 小时前
基于两步成像算法的聚束模式SAR MATLAB实现
开发语言·算法·matlab
Macbethad6 小时前
自动化测试技术报告
开发语言·lua
不会画画的画师6 小时前
Go开发指南:io/ioutil包应用和迁移指南
开发语言·后端·golang
2503_928411566 小时前
12.22 wxml语法
开发语言·前端·javascript
光影少年6 小时前
Vue2 Diff和Vue 3 Diff实现及底层原理
前端·javascript·vue.js
5980354156 小时前
【java工具类】小数、整数转中文大写
android·java·开发语言
2501_946224316 小时前
旅行记录应用统计分析 - Cordova & OpenHarmony 混合开发实战
javascript·harmonyos·harvester
傻啦嘿哟6 小时前
隧道代理“请求监控”实战:动态调整采集策略的完整指南
前端·javascript·vue.js