当选项卡不活动时 JavaScript 不工作

标签 javascript html fadein fadeout

所以,我这里有一个代码,当我在事件浏览器选项卡中查看它时,它工作得非常好。但是,一旦我最小化或在浏览器的其他选项卡(顺便说一句是 chrome)之间切换,代码就会开始出现问题。下面是代码:

var a = document.getElementById("slidermain");
var b = a.getElementsByTagName("IMG");
var len = b.length;

var noOpac = 0;
var fullOpac = 10;
var imgNumb = 0;

function initFade(count){
    imgNumb = imgNumb + count;
    if(imgNumb < 0){
        imgNumb = len;  
    }
    if(imgNumb > len){
        imgNumb = 1;    
    }
    elem = b[imgNumb-1];
    startFadeEffect(elem);
}

function startFadeEffect(elem){
    var opacSetting = noOpac / 10;
    if(noOpac > 10){
        opacSetting = 1;    
    }
    elem.style.opacity = opacSetting;   
    elem.style.display = "block";
    noOpac++;
    var timer = setTimeout(function() { startFadeEffect(elem); }, 55);
    if(opacSetting == 1){
        clearTimeout(timer);
        elem.style.opacity = 1;
        noOpac = 0;
        setTimeout(function() { endFadeEffect(elem); }, 2000);
    }
}

function endFadeEffect(elem){
    var opacSetting = fullOpac / 10;
    if(fullOpac < 0){
        opacSetting = 0;    
    }
    elem.style.opacity = opacSetting;   
    fullOpac--;
    var timer = setTimeout(function() { endFadeEffect(elem); }, 55);
    if(opacSetting == 0){
        clearTimeout(timer);
        elem.style.opacity = 0;
        elem.style.display = "none";
        fullOpac = 10;
        return false;
    }
}

function autoFade(){
    var loop = setInterval("initFade(1)", 4000);    
}

请注意,我一直在这个网站上寻找答案,但我找到的大多数都是基于 JQuery 的解决方案;但是,我正在寻找一种仅 JavaScript 的解决方案,其中我可能不必使用获取新日期函数。请不要将我的问题标记为重复,因为我已经做了很好的研究。谢谢!

最佳答案

这不是 JavaScript 的问题,而是 Chrome 的问题。当您的标签页未处于事件状态时,Chrome 会对其执行一些奇怪的操作。添加代码来“修复困惑”,或考虑到选项卡未处于事件状态,以便在退出并返回后进行恢复。

关于当选项卡不活动时 JavaScript 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35881600/

相关文章:

javascript - 如何制作按钮/链接以在 &lt;iframe&gt; 而不是页面中显示源代码?

javascript - 滑动 jQuery 面板在 iPad 上不起作用

javascript - 有没有办法通过 Online API 通过 URL 实现搜索功能

JQuery hide() 和 fadeOut() 、 show() 和 fadeIn() 之间的区别

android - 如何在 textView 更改文本时为 FadeOut 和 FadeIn 设置动画

jquery - 片段 - 淡入然后淡出

javascript - 我正在开发一个网站,我想在我的 js 文件中本地读取一些 json 文件

javascript - 多步骤表单按钮禁用,直到表单选择字段

php - 无法关闭网页上的顶部间隙

Jquery 克隆和单选按钮 : strange behavior