【问题标题】:start animation when tab/page active选项卡/页面处于活动状态时开始动画
【发布时间】:2014-01-16 07:13:57
【问题描述】:

当标签或页面处于活动状态时,我有一个关于页面启动动画的简单问题。我的意思是当用户打开页面但开始浏览另一个网站直到我们的网站加载时。然后他点击我们的网站选项卡,然后加载动画。我在很多网站上都看到过这个,但不知道这样做的诀窍是什么。

如需演示,请访问:http://swiftideas.net/ 打开网站并转到另一个页面,当网站完全加载时,点击 swiftideas 网站。你会看到一个淡入淡出的效果,上面写着“HELLO。WE ARE SWIFT IDEAS”和Menu Also!

但是当你翻过页面时它就开始了。很聪明!任何线索如何实现这一点?

希望你们也喜欢这个!

【问题讨论】:

标签: javascript jquery html css


【解决方案1】:

发件人:How to tell if browser/tab is active

您将使用窗口的focusblur 事件:

var interval_id;
$(window).focus(function() {
    if (!interval_id)
        interval_id = setInterval(hard_work, 1000);
});

$(window).blur(function() {
    clearInterval(interval_id);
    interval_id = 0;
});

回答“双火”的评论问题并保持 jQuery 易用性:

$(window).on("blur focus", function(e) {
    var prevType = $(this).data("prevType");

    if (prevType != e.type) {   //  reduce double fire issues
        switch (e.type) {
            case "blur":
                // do work
                break;
            case "focus":
                // do work
                break;
        }
    }

    $(this).data("prevType", e.type);
})

【讨论】:

  • 这个只兼容谷歌浏览器?我检查了上面提到的演示与任何其他浏览器都不兼容
  • 试试这个库,我认为它会有所帮助:serkanyersen.github.io/ifvisible.js
猜你喜欢
  • 2017-05-26
  • 1970-01-01
  • 1970-01-01
  • 2020-01-19
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多