js 创建keyframe_javascript – 查找特定的CSS @keyframes规则

我想用JavaScript调整CSS中的特定@keyframes-rule.这一切都适用于以下代码:

CSS:

@-webkit-keyframes changecolor {

0% { color: red; }

100% { color: green; }

}

@keyframes changecolor {

0% { color: red; }

100% { color: green; }

}

JavaScript的:

function getKeyframeRule(ruleName) {

var ss = document.styleSheets,

rule, i, x;

for (i = 0; i < ss.length; ++i) {

if (ss[i].cssRules) {

// loop through all the rules

for (x = 0; x < ss[i].cssRules.length; ++x) {

rule = ss[i].cssRules[x];

if ((rule.type === window.CSSRule.KEYFRAMES_RULE || rule.type === window.CSSRule.WEBKIT_KEYFRAMES_RULE) && rule.name === ruleName) {

return rule;

}

}

}

}

return null;

}

// find keyframes rule

var rule = getKeyframeRule("changecolor");

console.log(rule.cssText);

// adjust keyframes rule

// ...

自Chrome 43以来,浏览器支持无前缀的CSS动画属性.但是我的代码仍然返回带前缀的关键帧规则@ -webkit-keyframes changecolor,因为它也适用于条件if((rule.type === window.CSSRule.KEYFRAMES_RULE || rule.type === window.CSSRule.WEBKIT_KEYFRAMES_RULE) &&& rule.name === ruleName){.

选择浏览器实际使用的关键帧规则有什么更好的方法?

解决方法:

使用的关键帧规则是最后定义的.因此,您可以从最后而不是从头开始循环:

for (x = ss[i].cssRules.length - 1; x >= 0; x--) {

rule = ss[i].cssRules[x];

if ((rule.type === window.CSSRule.KEYFRAMES_RULE || rule.type === window.CSSRule.WEBKIT_KEYFRAMES_RULE) && rule.name === ruleName) {

return rule;

}

}

标签:javascript,css,css-animations

来源: https://codeday.me/bug/20190824/1709034.html

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

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

相关文章

计算机发展史评课议课稿,评课议课记录范文

2、由分母是1的真分数直接到结论后&#xff0c;把预设时推广到一般规律的环节掉了&#xff0c;致使本节课在思维上不太严密。学生的思维更没有真正地融于规律的理解中去。其实太多的意外&#xff0c;其原因根源在于自己想关注课堂的生成却无机智的应变能力&#xff0c;在学生直…

系统相机裁剪比例_拍照时图片比例怎么选?比构图还要提前一步的摄影攻略要做好...

谈到摄影第一步&#xff0c;很多人都在说构图&#xff0c;但是比构图还要提前一步的&#xff0c;是选择合适的拍摄比例。在拍照时&#xff0c;始终是把要拍的东西装进设备的取景器里面&#xff0c;所以取景器的比例是16:9&#xff0c;还是4:3或者其他&#xff0c;就直接影响了我…

计算机常用主题词,标引主题词的目的是( )。A.反映文件的全部内容B.便于计算机检索和管理C.供归_考题宝...

阅读短文&#xff0c;回答下列各题&#xff1a; Mr&#xff0e;Black was young and able&#xff0e;The boss liked him&#xff0e;Last month he was sent toChina on business&#xff0e;Before hewent back from China&#xff0c;he decided to buy something for Tony…

源码安装mysql_CentOS 7中源码安装MySQL 5.7.16 (亲测成功)

最近在CentOS 7中源码安装MySQL 5.7.16&#xff0c;发现MySQL5.7.6以后的安装方式真的与以前版本的MySQL安装方式大大的不同呀。不自己安装一把&#xff0c;下面这篇文章是通过自己的安装过程总结的一篇安装教程&#xff0c;有需要的朋友们可以参考借鉴&#xff0c;下面来一起看…

css动画定义,CSS3中Animation动画的定义和调用

现在经常会看到一些门户网站的专题使用到CSS3的动画&#xff0c;咋也不能落伍&#xff0c;在此这梳理下动画知识吧&#xff0c;便于后面用到。接下来介绍下Animation动画的定义和调用&#xff0c;在介绍Animation之前需要了解下Keyframes&#xff0c;英文意思就是关键帧&#x…

mysql5.7+proxy_mysql 5.7+mysql-proxy 0.8.5 读写分离

主从环境&#xff1a;mysql操做系统&#xff1a;CentOS6.5_x64linux主服务器Master&#xff1a;192.168.0.103sql从服务器Slave&#xff1a;192.168.0.105后端调度服务器MySQL-Proxy&#xff1a;192.168.0.104服务器1、mysql主从复制tcp2、mysql-proxy实现读写分离测试一、安装…

flask ajax 文件上传,python flask使用ajax请求上载文件。文件为空

我正在尝试上传一个大约1.62MB的图像到一个用烧瓶写的终点。request.files对象始终为空。我检查了以下问题,但没有成功:这是我的服务器:from flask import Flask, request, jsonify, render_templateimport sysapp Flask(__name__)app.config[UPLOAD_FOLDER] r"C:\Temp&…

mysql 账户管理_Mysql账户管理原理与实现方法详解

本文实例讲述了Mysql账户管理原理与实现方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;账户管理在生产环境下操作数据库时&#xff0c;绝对不可以使用root账户连接&#xff0c;而是创建特定的账户&#xff0c;授予这个账户特定的操作权限&#xff0c;然后连接进行…

宏脉系统怎么改服务器地址,宏脉系统使用手册大全.doc

WORD资料下载可编辑专业资料分享目录TOC \o "1-3" \h \u HYPERLINK \l _Toc16722 第一章 通用功能键说明 PAGEREF _Toc16722 4HYPERLINK \l _Toc15100 1.1功能键的使用说明 PAGEREF _Toc15100 4HYPERLINK \l _Toc5198 1.2 打印设置 PAGEREF _Toc5198 8HYPERLINK \l _…

navicat for mysql 用户_Navicat for MySQL 怎么/怎么添加管理用户?Navicat for MySQL 添加管理用户教程_37游游网...

【37游游攻略】为了保证数据库的安全&#xff0c;对操作用户分级授权是非常有必要的&#xff0c;Navicat for MySQL 给我们提供了一个非常强悍又非常便捷的用户管理系统。点击位于连接右侧的用户命令&#xff0c;随之弹出管理用户的界面&#xff0c;Navicat for MySQL 系统默认…

ajax实现向上正在加载,向上滚动或者向下滚动分页异步加载数据(Ajax + lazyload)

/****desc : 分页异步获取列表数据&#xff0c;页面向上滚动时候加载前面页码&#xff0c;向下滚动时加载后面页码ajaxdata_url ajax异步的URL 如data.phppage_val_name ajax异步的URL中的页码参数名 如pagenopage_no 初始加载页码&#xff0c;默认1 [如2,则与前面两参数结合为…

js如何上传大文件到服务器,js将文件上传到远程服务器

js将文件上传到远程服务器 内容精选换一换将文件上传至Windows云服务器一般会采用MSTSC远程桌面连接的方式。本节为您介绍本地Windows计算机通过远程桌面连接&#xff0c;上传文件至Windows云服务器的操作方法。Windows云服务器可以访问公网。在本地Windows计算机上&#xff0c…

centos odbc mysql_Centos下安装并配置ODBC连接MySQL 【转】

找到一篇英文的关于Linux下ODBC的安装和配置&#xff0c;在此根据自己的需要截取部分记录一下。安装并配置ODBCODBC连接器是一个数据库抽象层&#xff0c;它可以让Asterisk与广泛的数据库进行通信&#xff0c;而无需开发人员为Asterisk需要的每一个数据库创建一个单独的数据库连…

增强服务器安全性能,加强Linux服务器安全的20项建议

很多人都说 Linux 在默认配置下很安全&#xff0c;我在一定程度上同意这个说法(很值得商榷的话题)。不过 Linux 内置的安全模型和工具做得确实很到位&#xff0c;用户只需进行简单的调整和自定义就可以加强 Linux 服务器安全。与恶意用户做斗争对于所有 Linux 系统管理员来说都…

mysql禁用历史命令_如何禁止mysql记录历史命令

如何禁止mysql记录历史命令&#xff1f;在执行 SQL命令时&#xff0c;mysql会将历史命令记录到~/.mysql_history文件中&#xff0c;因此我们用上下键就可以翻阅历史命令了。也许某些特殊需要我们可能需要不让它记录这些历史命令&#xff0c;我们可以这样作&#xff1a;[rootTes…

阴阳师师徒系统不同服务器,阴阳师体服师徒系统未收录改为随机SSR

昨天下午&#xff0c;受到很多争议的体服“师徒系统”更新啦&#xff01;新版的“师徒系统”修改了徒弟的条件&#xff0c;总的来说能剔除压级大佬&#xff0c;并且之前奖励未收录SSR降低为随机SSR式神&#xff0c;难怪很多阴阳师都说&#xff1a;“大快人心&#xff01;”的确…

Mysql union联合查询_Mysql联合查询union和union all的使用介绍

一、UNION和UNION ALL的作用和语法UNION 用于合并两个或多个 SELECT 语句的结果集&#xff0c;并消去表中任何重复行。UNION 内部的 SELECT 语句必须拥有相同数量的列&#xff0c;列也必须拥有相似的数据类型。同时&#xff0c;每条 SELECT 语句中的列的顺序必须相同.SQL UNION…

ios 查看同文件名_实战恢复cisco 2950交换机的IOS

本来想用两台思科交换机做实验的&#xff0c;可是通过console口进入其中一台交换机后却发现这个台交换机的IOS文件丢失了。本来正常进入交换机后应该是首先进入到用户模式的&#xff0c;而且提示符应该是“>”&#xff0c;而现在提示符却成了“&#xff1a;”&#xff0c;如…

repositoryitemlookupedit根据每行的id绑定数据_一种根据数据库自增ID生成唯一ID的解决方案...

在我们的开发过程中&#xff0c;经常会遇到ID生成的问题&#xff0c;那么这里就介绍一种解决方案&#xff0c;注意这里只适合混淆ID规则&#xff0c;也就是说生成的ID没有任何规则&#xff0c;不适用于订单ID。一般有序自增主键的ID&#xff0c;极易被爬虫抓取数据&#xff0c;…

bootstracp实现树形列表_Java实现一致性哈希算法,并搭建环境测试其负载均衡特性...

实现负载均衡是后端领域一个重要的话题&#xff0c;一致性哈希算法是实现服务器负载均衡的方法之一&#xff0c;你很可能已在一些远程服务框架中使用过它。下面我们尝试一下自己实现一致性哈希算法。一. 简述一致性哈希算法这里不详细介绍一致性哈希算法的起源了&#xff0c;网…