gpt4 book ai didi

javascript - 如何通过JS更改CSS属性并使用过渡?

转载 作者:行者123 更新时间:2023-11-30 13:54:56 24 4
gpt4 key购买 nike

我在 JavaScript 中设置一个 CSS 效果(filter 属性),在下一行我将该属性设置为 none。我的图像有 filter 等于 none,但我想用 transition 来制作它。

没有最后一行(当我将属性设置回 none 时)如果我在控制台中禁用 filter 属性,它会与 transition< 一起使用.

loadImg.style.filter = `blur(${value})`;
loadImg.style.transition = `-webkit-filter ${transitionDuration} ${timing} ${delay}`;
loadImg.style.filter = 'none';

我知道这是因为 JavaScript,但我不知道如何让它与 transition 一起工作。

最佳答案

首先,您设置了 --webkit-filter 属性的转换,但您设置了 filter 属性。其次,正如 jneander 提到的那样,变化发生得太快了,你应该将它包装在 requestAnimationFrame 或超时中

这是一个带有修复的工作演示:

let value = "15px";
let loadImg = document.getElementById("block");

let transitionDuration = "1s";
let timing = "ease-in-out";
let delay = "1s";

loadImg.style.filter = `blur(${value})`;
requestAnimationFrame(()=>{
loadImg.style.transition = `filter ${transitionDuration} ${timing} ${delay}`;

loadImg.style.filter = 'none';
});
#block {
width: 150px;
height: 150px;
background: red;
}
<div id="block"></div>

关于javascript - 如何通过JS更改CSS属性并使用过渡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57494647/

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