当浏览器窗口关闭焦点时,Flexslider停止工作

时间:2017-07-23 13:26:22

标签: jquery css flexslider

我正在使用FlexSlider-2.6.3

它的工作方式我希望它能够工作到目前为止,但这是发生的事情。 当我点击页面时,flexslider元素正常工作。它开始旋转,完成其通常的旋转木马特性。

我的页面上有链接,可以为不同的窗口创建弹出窗口。当这些弹出窗口出现时,显然焦点会从包含flexslider元素的页面移开。

当弹出窗口出现时,或者如果我使用Flexslider元素将焦点移离页面时,轮播效果将停止工作。它只停留在一个图像上,直到我点击页面。单击该页面后,该元素开始运行。

无论页面焦点如何,我都可以使flexslider元素继续工作吗?

1 个答案:

答案 0 :(得分:0)

归功于this answer。我在我自己的例子中尝试了这个修复程序,它对我有用。

在第1088-1092行的文件jquery.flexslider.js中,有一段代码检查窗口的焦点并相应地切换聚焦变量。

$( window ).blur( function ( e ) {
  focused = false;
}).focus( function ( e ) {
  focused = true;
});

在该文件的第808行附近,脚本会检查聚焦变量的状态,以确定它是否应该继续轮播效果。

slider.animateSlides = function() {
  if (!slider.animating && focused ) { slider.flexAnimate(slider.getTarget("next")); }
};

快速解决方法是注释掉第1088-1092行,这使聚焦变量始终为真。

如果您使用的是缩小版(jquery.flexslider-min.js),则需要将其替换为上述文件。

相关问题