gpt4 book ai didi

javascript - 隐藏/显示后,动画微调器在 IE 中以相同速度旋转

转载 作者:太空宇宙 更新时间:2023-11-03 17:32:39 25 4
gpt4 key购买 nike

我有一个 CSS 动画微调器。它使用动画来旋转。元素上有一个边框,它的 :before 和它的 :after。每个边界以不同的速度旋转。它在第一页加载时效果很好,但在 IE 中,如果它被隐藏然后再次显示,它会以相同的速度旋转。

这是一个演示问题的 fiddle :Fiddle

这是我的CSS:

.loader-wrapper {
position: relative;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1000;
}
.loader-wrapper .loader {
display: block;
position: absolute;
left: 50%;
top: 50%;
width: 150px;
height: 150px;
margin: -75px 0 0 -75px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #2372b9;
-webkit-animation: spin 2s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
-moz-animation: spin 2s linear infinite;
-o-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
/* Chrome, Firefox 16+, IE 10+, Opera */
}
.loader-wrapper .loader:before {
content: "";
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #f47b27;
-webkit-animation: spin 3s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
-moz-animation: spin 3s linear infinite;
-o-animation: spin 3s linear infinite;
animation: spin 3s linear infinite;
/* Chrome, Firefox 16+, IE 10+, Opera */
}
.loader-wrapper .loader:after {
content: "";
position: absolute;
top: 15px;
left: 15px;
right: 15px;
bottom: 15px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #6ba543;
-moz-animation: spin 1.5s linear infinite;
-o-animation: spin 1.5s linear infinite;
-webkit-animation: spin 1.5s linear infinite;
animation: spin 1.5s linear infinite;
/* Chrome, Firefox 16+, IE 10+, Opera */
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: rotate(0);
/* IE 9 */
-moz-transform: rotate(0);
-o-transform: rotate(0);
transform: rotate(0);
/* Firefox 16+, IE 10+, Opera */
}
100% {
-webkit-transform: rotate(360deg);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: rotate(360deg);
/* IE 9 */
-moz-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
/* Firefox 16+, IE 10+, Opera */
}
}
@-moz-keyframes spin {
0% {
-webkit-transform: rotate(0);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: rotate(0);
/* IE 9 */
-moz-transform: rotate(0);
-o-transform: rotate(0);
transform: rotate(0);
/* Firefox 16+, IE 10+, Opera */
}
100% {
-webkit-transform: rotate(360deg);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: rotate(360deg);
/* IE 9 */
-moz-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
/* Firefox 16+, IE 10+, Opera */
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: rotate(0);
/* IE 9 */
-moz-transform: rotate(0);
-o-transform: rotate(0);
transform: rotate(0);
/* Firefox 16+, IE 10+, Opera */
}
100% {
-webkit-transform: rotate(360deg);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: rotate(360deg);
/* IE 9 */
-moz-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
/* Firefox 16+, IE 10+, Opera */
}
}

我的 html:

<div class="loader-wrapper">
<div class="loader"></div>
</div>

<a href="javascript:void(0);">Hide/show</a>

还有我的javascript:

$("a").on("click", function() {
if($(".loader").is(":visible")) {
$(".loader").hide();
}
else {
$(".loader").show();
}
});

最佳答案

我不知道为什么会这样——您可能只是在 IE 对显示属性的解释中发现了一个错误,或者它如何处理伪元素。你最好的选择可能是尝试另一种方法,例如。使用 overflow: hidden

切换隐藏类

.hide {
高度:0;
溢出:隐藏;
}

http://jsfiddle.net/9comfnob/1/

关于javascript - 隐藏/显示后,动画微调器在 IE 中以相同速度旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30264655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com