gpt4 book ai didi

javascript - CSS3 旋转延迟

转载 作者:行者123 更新时间:2023-11-28 02:25:47 24 4
gpt4 key购买 nike

我一点击它就在我的网页上有一个链接,我需要它旋转 180 度。

包含图标向下的链接标记的 HTML:

当点击它时添加类折叠:如果折叠类添加,则将 .fa-caret-down 旋转 180 度。

$(document).on("click", ".collapse-arrow", function() {
$(this).toggleClass("collapsed");
$("#slide-div").slideToggle(500);
});
.collapsed .fa {
transform: rotate(-180deg);
}
}

.fa {
padding: 5px 8px;
transition: all .2s ease-in-out;
transform: rotate(0);
font-size: 15px;
color: #000;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#" class="collapse-arrow room-collapse">
<i class="fa fa-caret-down"></i>
</a>

当网页中的元素较少时,此方法效果很好。但是在页面获得更多元素后,此转换需要几秒钟(3 秒)。 #slide-div 的 slideToggle 也需要时间。但是,只要我删除此旋转属性,它就可以正常工作。

这可能是什么问题?

最佳答案

存在多个元素时的延迟可能是由transition:all引起的。你应该只指定你想要动画的参数,否则浏览器会尝试计算所有参数的转换。按照 jom 的建议使用 fa-rotate-180 类要容易得多。

此外,修改 .fa 类也是不好的做法。如果您或从事该元素的其他人想要使用具有标准行为的 .fa 图标,会发生什么情况?

关于javascript - CSS3 旋转延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54069355/

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