css3实现无缝滚动,鼠标经过暂停

js也可以实现,但css3更加的平滑和资源占用更少。下面是具体代码,动画要单独用一个类名,否则暂停估计不会生效:

原理:动画向上移动,目标完全消失后,从头开始,注意 动画移动高度是文本高度,这个不好控制要微调,如果文本是动态的则要把动画通过js生成动态设置移动高度。js实现是获取消失的部分,添加到尾部,周而复始,平滑度很难控制

复制代码
<div class="list">
    <div class="rowup anim">
        <div class="text">
            <div>1111111111111111111111111111111111111111111111:</div>
            <div>11111111111111111111111111111111111</div>
            <div>222222222222222222222222222222222。</div>
        </div>
        <div class="text">
            <div>1111111111111111111111111111111111111111111111:</div>
            <div>11111111111111111111111111111111111</div>
            <div>222222222222222222222222222222222。</div>
        </div>
    </div>
</div>

   .list {
            position: relative;
            width: 200px;
            height: 127px;
            overflow: hidden;
            color: #FFFFFF;
            border: 1px solid white;
            text-align: left;
        }
        .list .rowup {
            height: 127px;
            position: relative;
        }
        .anim {
            animation: 5s rowup linear infinite normal;
        }
        /*暂停*/
        .pause {
            animation-play-state: paused;
        }

        @keyframes rowup {
            0% {
                transform: translate3d(0, 0, 0);
            }

            100% {
                transform: translate3d(0, -167px, 0);/*文本高度*/
            }
        }

 $(".rowup").hover(function(){
        $(this).addClass('pause')
    },function(){
        $(this).removeClass('pause')
    })
相关推荐
IT_陈寒11 小时前
Vue的响应式竟然在这常见操作下失效了
前端·人工智能·后端
你怎么知道我是队长11 小时前
JavaScript 事件介绍
开发语言·前端·javascript
宇晨T11 小时前
从零搭建企业级Web服务:Shell脚本 + LNMP + Docker 实战指南
前端·docker·容器
禅思院11 小时前
AI对话前端从入门到崩溃:一个长对话引发的五层优化战争【四】
前端·架构·前端框架
恋猫de小郭11 小时前
Flutter Windows 开始支持 Impeller ,还修复了多窗口 bug
android·前端·flutter
柳杉11 小时前
没写一行代码!我用 ChatGPT 5.6 (Sol) 做了一个智慧充电站 3D 大屏
前端·chatgpt·数据可视化
Henrii_历小海11 小时前
WhatsApp Web 不是手机镜像:多设备协议、本地数据流与出海获客流水线
前端·智能手机
ayqy贾杰12 小时前
Claude Fable 5 提示词泄漏,抓紧学习下
前端·后端·面试
To_OC20 小时前
别再串行写 await 了,Promise.all 才是并行请求的正确打开方式
前端·javascript·promise
vipbic20 小时前
中后台越做越乱后,我用插件化把它救回来了
前端·vue.js