gpt4 book ai didi

javascript - CSS transition 不同的行为取决于浏览器类型

转载 作者:可可西里 更新时间:2023-11-01 02:18:22 24 4
gpt4 key购买 nike

在我的代码中,我根据当前鼠标的 X 和 Y 位置更改了一些元素的位置。我添加了一个 css transition: all 5000ms; 让动画更流畅。

在 Google Chrome(第 63 版)中它看起来很棒并且按预期工作,但在 Internet ExplorerFirefox 中动画看起来滞后/断断续续

这是我的代码:

// $('.shape').css("transition", "all 7000ms");
$(document).mousemove(function(e){
let mX = e.clientX;
let mY = e.clientY;
$('.shape-1').css("transform", "translate("+mX/10+"px, "+mY/10+"px)");
});

有谁知道为什么浏览器对 css 转换的处理方式不同?

JSFiddle 没有 CSS 转换:https://jsfiddle.net/2rrcp27L/9/

JSFiddle 带 CSS 转换:https://jsfiddle.net/2rrcp27L/6/

最佳答案

发生这种情况的主要原因是 mouseMove触发了很多次,Chrome 可以处理它,但也许 Firefox 不能,IE 绝对不能,优化处理这种情况。

你应该throttle您对处理程序的调用。

请看这个 fiddle : https://jsfiddle.net/s2f9d77x/

此外,建议指定 transition: transform而不是 transition: all告诉浏览器不要担心元素的其他属性。

关于javascript - CSS transition 不同的行为取决于浏览器类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47773055/

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