广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >CSS怎么实现CSS动画的暂停与播放
  • 681
分享到

CSS怎么实现CSS动画的暂停与播放

2024-04-02 19:04:59 681人浏览 独家记忆
摘要

这篇文章主要讲解了“CSS怎么实现CSS动画的暂停与播放”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS怎么实现CSS动画的暂停与播放”吧!使用纯 CS

这篇文章主要讲解了“CSS怎么实现CSS动画的暂停与播放”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS怎么实现CSS动画的暂停与播放”吧!

使用纯 CSS 的方法,能否暂停、播放 CSS 动画?看起来不可能,至少很麻烦。

我们知道,在 css3 animation 中,有这样一个属性可以暂停、播放动画:

{      animation-play-state: paused | running;  }

animation-play-state:  属性定义一个动画是否运行或者暂停。可以通过查询它来确定动画是否正在运行。另外,它的值可以被设置为暂停和恢复的动画的重放。

如果借助 javascript,我们可以实现控制 CSS 动画的运行和播放,下面列出部分关键代码:

<div class="btn">stop</div>  <div class="animation"></div>  <style>  .animation {      animation: move 2s linear infinite alternate;  }  @keyframes move {      0% {          transfORM: translate(-100px, 0);      }      100% {          transform: translate(100px, 0);      }  }  </style>
document.querySelector('.btn').addEventListener('click', function() {      let btn = document.querySelector('.btn');      let elem = document.querySelector('.animation');      let state = elem.style['animationPlayState'];            if(state === 'paused') {          elem.style['animationPlayState'] = 'running';          btn.innerText = 'stop';      } else {          elem.style['animationPlayState'] = 'paused';          btn.innerText = 'play';      }        });

Demo &mdash; pause CSS Animation(https://codepen.io/Chokcoco/pen/GWYBdM)

纯 CSS 实现

下面我们探讨下,使用纯 CSS 的方式能否实现。

hover 伪类实现

使用 hover 伪类,在鼠标悬停在按钮上面时,控制动画样式的暂停。

关键代码如下:

<div class="btn stop">stop</div>  <div class="animation"></div>  <style>  .stop:hover ~ .animation {      animation-play-state: paused;  }  </style>

Demo &mdash; 纯 CSS 方式实现 CSS 动画的暂停与播放  (Hover):(Https://codepen.io/Chokcoco/pen/PpxKBX)

当然,这个方法不够智能,如果释放鼠标的自由,点击一下暂停、再点击一下播放就好了。还有其他方法吗?

checked 伪类实现

之前的文章《有趣的 CSS 题目(8):纯CSS的导航栏Tab切换方案》也谈过,使用 radio 标签的 checked 伪类,加上 实现纯 CSS  捕获点击事情。

并且利用被点击的元素可以控制一些 CSS 样式。实现如下:

<input id="stop" type="radio" name="playAnimation" />  <input id="play" type="radio" name="playAnimation" />  <div class="box">      <label for="stop">          <div class="btn">stop</div>      </label>      <label for="play">          <div class="btn">play</div>      </label>  </div>  <div class="animation"></div>

部分关键 CSS 代码:

.animation {      animation: move 2s linear infinite alternate;  }     #stop:checked ~ .animation {      animation-play-state: paused;  }     #play:checked ~ .animation {      animation-play-state: running;  }

我们希望当 #stop 和 #play 两个 radio 被点击时,给 .animation 元素分别赋予 animation-play-state:  paused 或是 animation-play-state: running 。而且二者只能生效其一,所以需要给两个 radio 标签赋予相同的 name  属性。

DEMO &mdash; 纯 CSS 方式实现 CSS 动画的暂停与播放:(https://codepen.io/Chokcoco/pen/QpJwBW)

上面的示例 Demo 中,实现了纯 CSS 方式实现 CSS 动画的暂停与播放。

当然,还有一些其他方法,例如 radio 替换成 checkbox ,或者使用 :target  伪类选择器也能实现上面同样的效果,感兴趣的可以尝试一下。

感谢各位的阅读,以上就是“CSS怎么实现CSS动画的暂停与播放”的内容了,经过本文的学习后,相信大家对CSS怎么实现CSS动画的暂停与播放这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: CSS怎么实现CSS动画的暂停与播放

本文链接: https://www.lsjlt.com/news/77393.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CSS怎么实现CSS动画的暂停与播放
    这篇文章主要讲解了“CSS怎么实现CSS动画的暂停与播放”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS怎么实现CSS动画的暂停与播放”吧!使用纯 CS...
    99+
    2022-10-19
  • CSS如何控制动画播放与暂停
    小编给大家分享一下CSS如何控制动画播放与暂停,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!我们先来看个例子,本例子是我在闲逛 Codepen 时看到了,很有意思:本例子,CodePen:  https://co...
    99+
    2023-06-08
  • html中怎么实现播放和暂停
    这篇文章将为大家详细讲解有关html中怎么实现播放和暂停,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在html中,可以使用play方法播放当前的音频或视频,使用pause方法暂停当前的音频或视频,语法格...
    99+
    2023-06-15
  • css3怎么解决动画的播放、暂停和重新开始
    这篇文章主要介绍“css3怎么解决动画的播放、暂停和重新开始”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“css3怎么解决动画的播放、暂停和重新开始”文章能帮助大家...
    99+
    2022-10-19
  • css怎么实现无限轮播图动画
    这篇文章主要介绍css怎么实现无限轮播图动画,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!   1、设置动画的舞台   HTML与之前文章里的示例非常相似。我们要有一个动画发生的...
    99+
    2022-10-19
  • css怎么实现动画
    这篇文章主要讲解了“css怎么实现动画”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css怎么实现动画”吧!随着业务对前端的需求越来越多,作为前端三大法宝之...
    99+
    2022-10-19
  • 怎么用css3实现动画的暂停和重新开始
    本篇内容介绍了“怎么用css3实现动画的暂停和重新开始”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CSS...
    99+
    2022-10-19
  • html5怎么实现动画播放状态
    今天小编给大家分享一下html5怎么实现动画播放状态的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2022-10-19
  • css怎么实现车轨动画
    css怎么实现车轨动画?纯 CSS3 卡通小火车行驶动画自从CSS3流行以来,基于纯CSS3的动画就层出不穷,有纯CSS3的人物动画、纯CSS3按钮动画等。这次,我们给大家分享一个很不错的CSS3卡通火车沿轨道行驶动画,一辆卡通样式的火车缓...
    99+
    2023-05-14
    css
  • Vue中CSS动画怎么实现
    本篇内容主要讲解“Vue中CSS动画怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中CSS动画怎么实现”吧!显示的过程:在动画即将被执行的瞬间,会往div上增加两个class名:f...
    99+
    2023-07-04
  • 使用CSS怎么实现变形、过渡与动画
    这期内容当中小编将会给大家带来有关使用CSS怎么实现变形、过渡与动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、过渡 transition  过渡属性用法: transition :ran...
    99+
    2023-06-08
  • Android中怎么实现动画自动播放功能
    本篇文章给大家分享的是有关Android中怎么实现动画自动播放功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。具体如下:private ImageView ...
    99+
    2023-05-31
    android
  • C#怎么实现线程的暂停与恢复
    在C#中,可以使用`Thread.Suspend()`方法来暂停一个线程,使用`Thread.Resume()`方法来恢复一个暂停的...
    99+
    2023-08-08
    C#
  • CSS怎么实现动画移动效果
    这篇文章主要为大家展示了“CSS怎么实现动画移动效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS怎么实现动画移动效果”这篇文章吧。思路首先我们新建一个正方形,用<svg>&l...
    99+
    2023-06-27
  • CSS动画:如何实现元素的抖动缩放效果
    CSS动画:如何实现元素的抖动缩放效果在网页设计中,元素的动画效果能够增加用户的视觉体验,为平淡的页面增添活力。而CSS动画正是实现这些效果的强大工具之一。本文将详细介绍如何使用CSS动画实现元素的抖动缩放效果,并提供具体的代码示例供读者参...
    99+
    2023-11-21
    动画 CSS 缩放
  • 怎么使用CSS实现图片帧动画与曲线运动
    这篇文章将为大家详细讲解有关怎么使用CSS实现图片帧动画与曲线运动,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css是什么意思css是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来设计网...
    99+
    2023-06-08
  • CSS怎么实现心形加载的动画
    本文将为大家详细介绍“CSS怎么实现心形加载的动画”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“CSS怎么实现心形加载的动画”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知...
    99+
    2023-06-08
  • CSS+jQuery实现的一个放大缩小动画效果
    今天帮朋友写了一些代码,自己觉得写着写着,好几个版本以后,有点满意,于是就贴出来。 都是定死了的。因为需求就只有4个元素。如果是要用CSS的class来处理,那就需要用到CSS3动画...
    99+
    2022-11-15
    jQuery+CSS 放大缩小动画
  • 怎么用@keyframes规则实现CSS动画
    这篇文章主要讲解了“怎么用@keyframes规则实现CSS动画”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用@keyframes规则实现CSS动画”...
    99+
    2022-10-19
  • CSS怎么实现雨滴动画效果
    这篇文章主要介绍CSS怎么实现雨滴动画效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!玻璃窗今天我们要实现的是雨滴效果,不过实现雨滴前,我们先把毛玻璃的效果弄出来,没有玻璃窗,雨都进屋了,还有啥好敲打的。<d...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作