首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

播放后删除".animated“类,并添加回来,以防元素重新加载。纯Javascript

播放后删除".animated"类,并添加回来,以防元素重新加载。纯Javascript

在前端开发中,有时候我们需要在元素播放动画后,将动画类删除并重新添加回来,以防止元素重新加载。这可以通过纯Javascript来实现。

首先,我们需要获取需要添加动画的元素。可以使用document.querySelector()或document.getElementById()等方法来获取元素的引用。

然后,我们可以使用classList属性来操作元素的类。classList是一个DOMTokenList对象,它提供了一系列方法来添加、删除和切换类。

下面是一个示例代码,演示了如何在播放动画后删除".animated"类,并添加回来:

代码语言:txt
复制
// 获取需要添加动画的元素
var element = document.querySelector('.animated');

// 播放动画
element.classList.add('animated');

// 动画播放完毕后的回调函数
function animationEndHandler() {
  // 删除".animated"类
  element.classList.remove('animated');

  // 添加回".animated"类
  element.classList.add('animated');

  // 移除动画结束事件监听器
  element.removeEventListener('animationend', animationEndHandler);
}

// 监听动画结束事件
element.addEventListener('animationend', animationEndHandler);

在上面的代码中,我们首先获取了需要添加动画的元素,然后使用classList.add()方法添加".animated"类,触发元素的动画效果。

接着,我们定义了一个animationEndHandler()函数作为动画播放完毕后的回调函数。在这个函数中,我们先使用classList.remove()方法删除".animated"类,然后使用classList.add()方法添加回".animated"类,以防止元素重新加载。

最后,我们使用element.addEventListener()方法监听元素的animationend事件,并将animationEndHandler()函数作为事件处理函数。这样,当动画播放完毕时,会自动触发animationEndHandler()函数,执行删除和添加类的操作。

这样,我们就实现了在播放动画后删除".animated"类,并添加回来的效果。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 云数据库 MySQL 版(CMYSQL):https://cloud.tencent.com/product/cmysql
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 移动开发(移动推送、移动分析):https://cloud.tencent.com/product/mobile
  • 区块链(BCS):https://cloud.tencent.com/product/bcs
  • 元宇宙(Metaverse):https://cloud.tencent.com/solution/metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS小技能:右滑返回

引言 原理:利用系统的返回手势interactivePopGestureRecognizer进行实现 使用场景:返回按钮有点小,不好触发返回时,可借助右滑返回来提升用户体验 I 添加右滑返回手势 1.1...基于全局的UINavigationController基实现 若项目有全局的UINavigationController基,给页面添加右滑返回手势 @implementation NavigationController...方法将手势返回强制加回来 2.3 动态添加方法 使用场景: 在消息发送和消息转发时会用到动态添加方法 全局控制返回手势 下面的+addMethod方法有三个参数,第一个参数是要添加方法的,第二个参数是方法的.../** 往添加新的方法与其实现 @param class 相应的 @param methodSel 添加的方法 @param methodSelImpl 包含方法实现的SEL */..., 还是使用原生播放器全屏播放 config.allowsInlineMediaPlayback = YES; //设置视频是否需要用户手动播放 设置为NO则会允许自动播放

2.2K30
  • 29.Vue-使用第三方animate.css库实现动画

    JavaScript 动画库,如 Velocity.js 上一篇说明了使用「过渡名」来实现动画效果,但是每个动画都要自己去写的话,其实是一个挺麻烦的事情,本篇章来说明使用第三方css动画库「Animate.css...> 浏览器执行效果,如下: 上面的示例给元素加上 class ,刷新页面,就能看到动画效果了。...animated 类似于全局变量,它定义了动画的持续时间;bounce 是动画具体的动画效果的名称,你可以选择任意的效果。 如果动画是无限播放的,可以添加 class infinite,如下: 使用示例 2 你也可以通过 JavaScript 或 jQuery 给元素添加这些 class,比如: $(function(){ $('#dowebok').addClass...('animated bounce'); }); 有些动画效果最后会让元素不可见,比如淡出、向左滑动等等,可能你又需要将 class 删除,比如: $(function(){ $('#dowebok

    3.9K20

    33.Vue-使用第三方animate.css库实现动画

    JavaScript 动画库,如 Velocity.js 上一篇说明了使用过渡名来实现动画效果,但是每个动画都要自己去写的话,其实是一个挺麻烦的事情,本篇章来说明使用第三方css动画库Animate.css...上面的示例给元素加上 class ,刷新页面,就能看到动画效果了。animated 类似于全局变量,它定义了动画的持续时间;bounce 是动画具体的动画效果的名称,你可以选择任意的效果。...如果动画是无限播放的,可以添加 class infinite,如下: 使用示例 2 你也可以通过 JavaScript 或 jQuery 给元素添加这些 class,比如: $(function(){ $('#dowebok').addClass...('animated bounce'); }); 有些动画效果最后会让元素不可见,比如淡出、向左滑动等等,可能你又需要将 class 删除,比如: $(function(){ $('#dowebok

    6.8K30

    前端面试那些坑之HTML篇

    的数据在浏览器关闭自动删除; 语意化更好的内容元素,比如 article、footer、header、nav、section; 表单控件,calendar、date、time...document.createElement方法产生的标签, 可以利用这一特性让这些浏览器支持HTML5新标签, 浏览器支持新标签,还需要添加标签默认的样式。...,那么就会重新下载文件中的资源并进行离线存储。...有期时间: localStorage 存储持久数据,浏览器关闭数据不丢失除非主动删除数据; sessionStorage 数据在当前浏览器窗口关闭自动删除。...如果需要使用iframe,最好是通过javascript 动态给iframe添加src属性值,这样可以绕开以上两个问题。 13、Label的作用是什么?是怎么用的?

    1.5K90

    基于 Butterfly 的外挂标签引入

    标签语法 配置参数 样式展示 显示代码 {% tip [参数,可选] %}文本内容{% endtip %} 更多详情请参看 font-awesome-animation 文档 将所需的 CSS 添加到图标...对于父级悬停样式,需要给目标元素添加指定 CSS ,同时还要给目标元素的父级元素添加 CSS faa-parent animated-hover。...详情见示例及示例源码) You can regulate the speed of the animation by adding the CSS class or . faa-fastfaa-slow 可以通过给目标元素添加...On DOM load 当页面加载时 显示动画 On hover 当鼠标悬停时 显示动画 On parent hover 当鼠标悬停 在父级元素时 显示动画 faa-wrench animated faa-wrench...faa-rising animated faa-rising animated-hover faa-rising On DOM load(当页面加载时显示动画) warning ban 调整动画速度

    1.1K30

    WKWebView详解

    重新加载当前页面 - (WKNavigation *)reload; 返回一个新的WKNavigation对象 是不带缓存的验证(对比reloadFromOrigin) 重新加载当前页面(带缓存的验证)...+ (instancetype)storeWithURL:(NSURL *)url; 当创建时,Store的内容从该路径下的所有编译过的规则列表加载 新增的变化,如编译一个新的规则列表,删除一个已经存在的规则列表...WKNavigationTypeFormResubmitted 重新提交表单(例如后退、前进或重新加载) WKNavigationTypeOther由于其他原因 WKNavigationResponse...WebView用户界面通过实现这个协议来控制新窗口的打开,增强用户单击元素时显示的默认菜单项的表现,执行其他用户界面相关的任务。这些方法可以通过处理JavaScript或其他插件内容来调用。...触发也可以滑动选择,松开选中。 一组方法定义了您可以应用于快速选择操作和快速选择操作组的样式,定义了一个只读访问器,用于用户可见的快速选择操作的标题。

    20.6K193

    前端开发面试题总结之——HTML

    ,解析完成在浏览器中显示基础页面; (7)分析页面中的超链接显示在当前页面,重复以上过程直至无超链接需要发送,完成全部数据显示。...负责对网页语法的解释(如标准通用标记语言下的一个应用HTML、JavaScript渲染(显示)网页。...新增的元素有绘画 canvas ,用于媒介回放的 video 和 audio 元素,本地离线存储 localStorage 长期存储数据,浏览器关闭数据不丢失,而sessionStorage的数据在浏览器关闭自动删除...这两种方式都允许开发者使用js设置的键值对进行操作,在在重新加载不同的页面的时候读出它们。这一点与cookie类似。...如果需要使用iframe,最好通过JavaScript动态给iframe添加src属性值,这样可以绕开以上两个问题。 Label的作用是什么?如何使用?

    1.8K80

    iOS视频播放的基本方法

    self.player = [[AVPlayer alloc] initWithPlayerItem:playerItem]; //第四步:创建显示视频的AVPlayerLayer,设置视频显示属性,添加视频图层...,点击重新加载 [self showaAtivityInDicatorView:NO];//关闭Loading视图 self.playerInfoButton.hidden...= NO; //显示错误提示按钮,点击重新加载视频 [self.playerInfoButton setTitle:@"资源加载失败,点击继续尝试加载" forState...由于iOS9弃用前两种播放的原因,AVPlayerViewController也将变得更加常用。AVPlayerViewController适合开发播放界面要求不是很高的应用。...使用这种方式播放的优点在于可以指定播放界面的原始尺寸大小,但是值得注意的是AVPlayerViewController必须被当前视图控制器所持有,以防止被当做局部变量被释放。

    4.4K20
    领券