窗口未激活时的JS / CSS转换

时间:2016-05-20 15:46:15

标签: javascript css

我创建了一个小滑块,我每隔X秒用JS设置类,并使用CSS Transition进行动画。

现在当窗口未激活时(例如你在另一个标签上观看)并且你回来时会有一些混乱。经过一个过渡时期后,混乱就消失了。看起来有些动画在另一个窗口上运行。

当窗口处于非活动状态时,看起来JS正在运行但不会运行CSS Transitions。

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

让窗口保持非活动状态几秒钟,您会看到Div移动得更快。使用函数move将左侧设置几次。但CSS Transition仅在窗口再次激活时启动。因此,Div一下子移动到最终位置。

xlrow=6
xlcol=1
While Not g_RS3.EOF
    For i = 0 To RCOUNT - 1
        Cells(xlRow, xlCol).Value = g_RS3("School")
        xlCol = xlCol + 1
        Cells(xlRow, xlCol).Value = g_RS3("LastName") & " ," &  g_RS3("FirstName")
        xlCol = xlCol + 1
        Cells(xlRow, xlCol).Value = g_RS3("Q01")
        xlCol = xlCol + 1
        Cells(xlRow, xlCol).Value = g_RS3("Q02")
        xlCol = xlCol + 1
        Cells(xlRow, xlCol).Value = g_RS3("Q03")
        xlCol = xlCol + 1
        Cells(xlRow, xlCol).Value = g_RS3("q04")
        xlCol = xlCol + 1
        Cells(xlRow, xlCol).Value = g_RS3("q05")
        xlcol=1
        xlrow=xlrow+1
    next i
wend

1 个答案:

答案 0 :(得分:0)

问题是,当隐藏选项卡/窗口时,浏览器不会重绘其内容,但脚本会继续运行,当您切换回来时,它会在第一次执行脚本时捕获,从而导致重绘。

当标签/窗口不可见时,您可以使用Page Visibility API并停止运行脚本