【问题标题】:JS / CSS Transition when Window not active窗口不活动时的 JS / CSS 转换
【发布时间】:2016-05-21 00:04:02
【问题描述】:

我创建了一个小滑块,我每隔 X 秒用 JS 设置类,并用 CSS 过渡制作动画。

现在,当窗口不活动时(例如,您在另一个选项卡上观看)并且您回来时会出现一些混乱。在 1 个过渡时间段之后,混乱消失了。看起来有些动画在另一个窗口上没有运行。

当窗口不活动时,看起来 JS 正在运行,而不是 CSS 转换。

一个简单的例子:https://jsfiddle.net/ugxkjr3s/

保持窗口不活动几秒钟,您会看到 Div 移动得更快。左边用函数 move 设置了几次。但是 CSS 过渡仅在窗口再次处于活动状态时才会启动。所以 Div 一下子就移动到了结束位置。

setInterval(move, 1000);
var left=0;

function move() {
    $("div").css("left", left);
  left=left+20;
}

【问题讨论】:

  • 如果您没有发布任何代码进行考试,我们应该如何提供帮助? ...您来这里的时间已经足够长,知道如何发布问题了。
  • 您可以删除事件(处理程序)并在加载后中和 css 转换
  • @LGSon 我提交的问题有点太早了。现在举个例子。但公平地说。问题不是特定于代码的。
  • 我的回答对您有帮助吗? ..如果没有,我该怎么做才能解决它?

标签: javascript css


【解决方案1】:

问题是,当隐藏“选项卡/窗口”时,浏览器不会重新绘制其内容,但脚本继续运行,当您切换后,它会在第一个导致Redraw的脚本执行中赶上。

您可以做的是使用Page Visibility API 并在选项卡/窗口不可见时停止运行脚本

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多