javascript - 为什么 js 关键帧 (cssrules) 脚本不能与 IE edge 一起使用,而它可以在 chrome 和 firefox 中使用?
问题描述
为什么将在codepen链接中看到的秒时间的js关键帧(cssrules)脚本不适用于IE EDGE,并且它在chrome和firefox中使用两种不同的解决方案在以下链接中具有相同的结果
function clockRingSecond(angle, key) {
"use strict";
var d = document,
stylesheet = d.styleSheets[0],
rule = stylesheet.cssRules,
i = rule.length,
keyframes,
keyframe,
n = "spinRing";
while (i--) {
keyframes = rule.item(i);
if (
(keyframes.type === keyframes.KEYFRAMES_RULE ||
keyframes.type === keyframes.WEBKIT_KEYFRAMES_RULE ||
keyframes.type === keyframes.MOZ_KEYFRAMES_RULE ||
keyframes.type === keyframes.MS_KEYFRAMES_RULE ||
keyframes.type === keyframes.O_KEYFRAMES_RULE) &&
keyframes.name === n
) {
rule = keyframes.cssRules;
i = rule.length;
while (i--) {
keyframe = rule.item(i);
if (
(keyframe.type === keyframe.KEYFRAME_RULE ||
keyframe.type === keyframe.WEBKIT_KEYFRAME_RULE ||
keyframe.type === keyframe.MS_KEYFRAME_RULE) &&
keyframe.keyText === key
) {
keyframe.style.webkitTransform = "rotate(" + angle + "deg)";
keyframe.style.msTransform = "rotate(" + angle + "deg)";
keyframe.style.transform = "rotate(" + angle + "deg)";
break;
}
}
break;
}
}
}
secondTimeHand();
和
function seckey(ruleText) {
var sheets = document.styleSheets;
if (sheets.length == 0) {
var style = document.createElement("style");
style.appendChild(document.createTextNode(""));
document.head.appendChild(style);
}
var sheet = sheets[sheets.length - 1];
sheet.insertRule(
ruleText,
sheet.rules ? sheet.rules.length : sheet.cssRules.length
);
}
secondTimeHand();
这两个解决方案我在这里的一些帖子中找到了它。
请帮助并提前感谢您
请注意,它以前适用,现在停止
解决方案
推荐阅读
- angular - 如何使父组件的侧边栏以角度显示在子组件中
- ruby - 当项目不在 C:/ 驱动器上时,Jekyll 无法构建
- python - 如何并排绘制两个不同的 FacetGrid
- sql-server - 如果我尝试查询的行不存在,我可以返回 NULL 吗?
- javascript - 如何将多页数据提取到数组中?
- flutter - Flutter 将 Image.network 放入 Dart 隔离
- linux - 使用 Powercli 在脚本 PS 中运行 Bash 命令
- macos - Eclipse RCP 无法在 MAC Big Sur 中启动产品
- matlab - uiaxes中缺少轴 - matlab
- html - 为什么我不能使用 mx-auto 水平居中子元素?