【CSS文字滚动】CSS实现文字横向循环无缝滚动,鼠标移入暂停移出继续(附实测源码)

news2024/11/17 21:16:19

CSS如何实现文字横向滚动

  • 滚动效果
  • 1、垃圾liMarquee(最好别用)
  • 2、css实现文字滚动,且鼠标移入移出暂停和继续
    • HTML源码如下:
    • CSS源码如下:
    • JS源码如下:
  • 3、片尾彩蛋

CSS实现文字横向循环无缝滚动,鼠标移入暂停移出继续
【写在前面】故事的起源还得从客户现场的一个问题说起,前段时间总有客户现场反馈,你们的系统用着用着就会出现卡住的状态,导致页面无响应,一开始我以为是内存的问题,后面深入才发现是CPU消耗太多的问题,核心问题就是我引用了jquery的liMarquee插件,没想到这玩意儿搞死我了。
涉及知识点:css滚动,CSS3,animation,liMarquee,文字滚动,jquery鼠标事件

滚动效果

在这里插入图片描述

1、垃圾liMarquee(最好别用)

之前在做文字滚动的时候,我图个省事,直接应用了jquery.liMarquee.js组件,就是这个垃圾插件,让系统的CPU占用率飙升,正常都是在5%一下,这个直接把你的cpu干到20%。
在这里插入图片描述

2、css实现文字滚动,且鼠标移入移出暂停和继续

这个原理主要就是利用css3的animation属性,可以设置动画的时间及状态和方向。下面就暴力点直接上代码哈:

HTML源码如下:

<div class="hdd">
        <p class="gundong">
            黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅
            黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅
            黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅
            黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅
            黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅
            黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅
            黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅黄大大好帅
        </p>
 </div>

CSS源码如下:

.hdd {
            width: 300px;
            margin: 0 auto;
            border: 1px solid #ff6700;
            overflow: hidden;
        }

        .gundong {
            padding-left: 20px;
            font-size: 12px;
            color: #000;
            display: inline-block;
            white-space: nowrap;
            animation: 10s wordsLoop linear infinite normal;
        }

        .gundong:hover {
            /* 设置动画是否暂停 paused暂停*/
            animation: 10s wordsLoop linear infinite paused;
        }

        @keyframes wordsLoop {
            0% {
                transform: translateX(200px);
                -webkit-transform: translateX(200px);
            }

            100% {
                transform: translateX(-100%);
                -webkit-transform: translateX(-100%);
            }
        }

        @-webkit-keyframes wordsLoop {
            0% {
                transform: translateX(200px);
                -webkit-transform: translateX(200px);
            }

            100% {
                transform: translateX(-100%);
                -webkit-transform: translateX(-100%);
            }
        }

JS源码如下:

var k = 0;
    var _strLength = $(".gundong").text().length;
    var _second = _strLength / 3;
    $(".gundong").css({
        "animation": _second + "s wordsLoop linear infinite normal"
    })
    $(".gundong").off("mouseover").on("mouseover", function () {
        $(".gundong").css({
            "animation": _second + "s wordsLoop linear infinite paused"
        })

    })
    $(".gundong").off("mouseout").on("mouseout", function () {
        $(".gundong").css({
            "animation": _second + "s wordsLoop linear infinite normal"
        })

    })

这个里面的js对滚动时间进行了一个计算操作,也就是说根据字的格式来判断的,主要目的就是防止滚动文字很多的情况下出现了我们不可控速度的问题。
另外针对鼠标移入移出事件,主要还是应用了jquery的on事件,通过不同的事件我们去改变css的animation是normal(滚动)还是paused(暂停)。

3、片尾彩蛋

这篇文章如若对您有帮助的话,想支持博主的可以上皇榜看看哟,
皇榜[点击此处进入]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/375673.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么文档对 SaaS 公司至关重要?

在过去十年左右的时间里&#xff0c;SaaS的兴起使全球数百家公司成为家喻户晓的公司。但他们并不是仅仅依靠产品的力量到达那里的。客户服务和支持是使一切在幕后顺利进行的原因——其中很大一部分是文档。以正确的风格和正确的位置在您的网站上找到适当的用户文档对于将浏览器…

Docker----------网络network

1. 是什么 1.1docker不启动默认网络 1.ens332.lo3.virbr0 在CentOS7的安装过程中如果有选择相关虚拟化的的服务安装系统后&#xff0c;启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr0网卡&#xff1a;它还有一个固定的默认IP地址192.168.122.1)&#xff0c…

大数据技术生态全景一览

大数据技术生态全景一览大数据平台ETL数据接入大数据平台海量数据存储大数据平台通用计算大数据平台各场景的分析运算分布式协调服务任务流调度引擎大数据平台ETL数据接入 大数据有很多的产品&#xff0c;琳琅满目。从架构图上就能看出产品很多。这些产品它们各自的功能是什么…

乐友商城学习笔记(十六)

购物车功能分析 新增 判断用户是否登陆&#xff08;页面&#xff09; 未登录&#xff0c;添加到页面的localstrorage中 登陆&#xff0c;添加到redis中 已经存在该商品的购物车记录&#xff0c;更新数量&#xff0c;否则新增一条商品的购物车记录 查询 ly.store.get(“LY_C…

【打卡】图分析与节点嵌入

背景介绍 图&#xff08;Graphs&#xff09;是一种对物体&#xff08;objects&#xff09;和他们之间的关系&#xff08;relationships&#xff09;建模的数据结构&#xff0c;物体以结点&#xff08;nodes&#xff09;表示&#xff0c;关系以边&#xff08;edges&#xff09;…

Uncaught ReferenceError: jQuery is not defined

今天在拉取项目部署到本地的时候遇到了一个问题特此记录一下 &#xff08;以后闭坑&#xff09; 我和同事同时拉取了一样的代码&#xff0c;结果同事的页面加载正常而我的页面像被狗啃了一样&#xff0c;知道是js的问题但是不知道问题出在哪里&#xff1f;后来还是同事帮我解决…

Python - DIY - 使用dump取json某些键值对合成新的json文件

Python - Json处理前言&#xff1a;应用场景&#xff1a;基本工具&#xff1a;文件操作&#xff1a;打开文件&#xff1a;写文件&#xff1a;读文件&#xff1a;关闭文件并刷新缓冲区&#xff1a;Json字符串和字典转换&#xff1a;json.loads()&#xff1a;json.dumps():Json文…

高端电器新十年,求解「竞速突围」

竞争激烈的高端电器品牌们&#xff0c;平时王不见王&#xff0c;但也有例外。海尔、博西、海信、创维、方太、老板等等近乎中国电器行业所有一线品牌副总裁级别以上高层&#xff0c;2月22日都现身于上海&#xff0c;来参加一场由红星美凯龙攒起来的高端电器局&#xff0c;2023中…

gogs代码仓库迁移至gitlab仓库上

将gogs仓库的所有分支都迁移到GitLab上 GitHub新建一个空项目 这个我就不教了: 不会的请点击这里 自查本地是否已有SSH公钥 我自身win11举例&#xff1a;C:\Users\PC.ssh\XXXXXX.pub 找“.pub”结尾的文件&#xff0c;用文本打开就是你本地的公钥了 直接复制公钥&#xff0…

比Redis更强,性能直接飙升一倍!

# 什么是KeyDB&#xff1f;KeyDB是Redis的高性能分支&#xff0c;专注于多线程&#xff0c;内存效率和高吞吐量。除了多线程之外&#xff0c;KeyDB还具有仅在Redis Enterprise中可用的功能&#xff0c;例如Active Replication&#xff0c;FLASH存储支持以及一些根本不可用的功能…

Java异常Throwable的分类

1. Exception&#xff1a;程序本身可以捕获并且可以处理的异常 编译时异常&#xff1a;编译期就会检查的异常&#xff0c;若调用的方法中throw了此类异常&#xff0c;则必须进行显式处理处理&#xff08;用try…catch捕获或者throws向上抛出&#xff09;&#xff0c;否则无法通…

react源码解析10.commit阶段

在render阶段的末尾会调用commitRoot(root);进入commit阶段&#xff0c;这里的root指的就是fiberRoot&#xff0c;然后会遍历render阶段生成的effectList&#xff0c;effectList上的Fiber节点保存着对应的props变化。之后会遍历effectList进行对应的dom操作和生命周期、hooks回…

Materials - DistanceField Nodes

以前的相关笔记&#xff0c;归档发布&#xff1b;距离场相关节点&#xff1a;DistanceToNearestSurface节点&#xff1a;求出传入的Position位置到最近的面的距离并输出&#xff0c;在没有Position输入的时候&#xff0c;默认值会直接使用World Position&#xff1a;Position的…

部门来了个测试工程师,听说是00后,实在是太卷了.....

都说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。 这不&#xff0c;前段时间我们部门来了个00后&#xff0c;工作没两年&#xff0c;跳槽到我们公司起薪18K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。…

喜讯!华秋电子荣获第六届“蓝点奖”十佳分销商奖

2 月 25 日&#xff0c;由深圳市电子商会主办的2023 中国电子信息产业创新发展交流大会暨第六届蓝点奖颁奖盛典在深圳隆重举行。 图&#xff1a;华秋商城渠道总监杨阳&#xff08;右三&#xff09; 深圳市电子商会连续六年举办“蓝点奖”评选活动&#xff0c;旨在表彰对电子信…

公众号运营思路是怎样的?建议收藏

问大家一个直击灵魂的问题&#xff1a; 你真的知道你的公众号该怎么运营吗&#xff1f; 先不要草率回答我&#xff0c;你先说说你的公众号运营思路是怎样的&#xff1f; 如果你连基本的运营思路都讲不出来&#xff0c;可想而知&#xff0c;你的公众号运营也好不到哪里去。 …

3.一一对应—简单工厂模式

什么是简单工厂模式&#xff1f; 简单工厂模式&#xff08;Simple Factory&#xff09;&#xff0c;解决的是在多个基类的继承类中如何选择对应的类实例化。 到底要实例化哪一个继承类&#xff1f;——这就是简单工厂模式整天思考的问题。而之所以会出现这个问题是由于软件架…

java虚拟机中对象创建过程

java虚拟机中对象创建过程 我们平常创建一个对象&#xff0c;仅仅只是使用new关键字new一个对象&#xff0c;这样一个对象就被创建了&#xff0c;但是在我们使用new关键字创建对象的时候&#xff0c;在java虚拟机中一个对象是如何从无到有被创建的呢&#xff0c;我们接下来就来…

强化学习RL 02: Value-based Reinforcement Learning

DQN和TD更新算法。 目录 Review 1. Deep Q-Network(DQN) 1.1 Approximate the Q*(s,a) Function 1.2 Apply DQN to Play Game 1.3 Temporal Difference(TD) Learning 1.4 TD Learning for DQN 1.4.1 TD使用条件 condition 1.4.2 Train DQN using TD learning 1.5 summ…

【项目精选】基于java出租车计价器设计与实现(源码+论文+视频)

关于java出租车计价器设计与实现 点击下载源码 总共4个模块 &#xff08;1&#xff09;出租车计价系统可以实现出租车信息的管理。 1.1出租车信息的查询&#xff1a;通过数据库查询出租车的车型&#xff0c;车号&#xff0c;以及是否可用 1.2出租车信息的增加&#xff1a;向数据…