【问题标题】:How to create the title alert effect like Facebook?如何创建像 Facebook 一样的标题提醒效果?
【发布时间】:2011-03-23 19:51:04
【问题描述】:

如何制作像facebook一样的闪烁标题效果?意思是,当您与某人聊天并收到新消息时,标题开始在原始标题和通知用户新消息到达的消息之间切换,并具有闪烁效果。

AdrianoKF的解释:

在收到新的聊天消息后,请注意窗口标题在“来自 Foo Bar 的新消息”和常规消息之间循环。

【问题讨论】:

  • 请详细描述效果。不是每个人都使用 Facebook。另外,我确实使用它,但我不知道您在说什么。
  • 什么标题???您是在谈论<title> 标签,页面中的<div>,还是别的什么?编程是一门特定的科学,所以请具体一点。 有点............不是很具体。
  • OP 指的是窗口标题在“来自 Foo Bar 的新消息”和收到新聊天消息后的常规消息之间循环,我想。
  • @Darin Dimitrov,chrome 没有标题栏,但您可以在标签中看到标题。请注意...
  • @Darin,我想我发现你心情不好

标签: javascript jquery facebook effect


【解决方案1】:

代码:

(function () {

var original = document.title;
var timeout;

window.flashTitle = function (newMsg, howManyTimes) {
    function step() {
        document.title = (document.title == original) ? newMsg : original;

        if (--howManyTimes > 0) {
            timeout = setTimeout(step, 1000);
        };
    };

    howManyTimes = parseInt(howManyTimes);

    if (isNaN(howManyTimes)) {
        howManyTimes = 5;
    };

    cancelFlashTitle(timeout);
    step();
};

window.cancelFlashTitle = function () {
    clearTimeout(timeout);
    document.title = original;
};

}());

用法:

flashTitle("New Message from Matt Lunn");

...或者...

flashTitle("New Message from John Smith", 10); // toggles it 10 times.

【讨论】:

  • 对于那些(像我一样)没有意识到的人,cancelFlashTitle() 将停止闪烁!
【解决方案2】:

设置每隔几秒切换一次标题的间隔。未经测试的代码:

function flashTitle(pageTitle, newMessageTitle)
{
    if (document.title == pageTitle)
    {
        document.title = newMessageTitle;
    }
    else
    {
        document.title = pageTitle;
    }
}

setInterval("flashTitle('Facebook', 'New message from John Doe!')", 800);

【讨论】:

  • 哇,我没想到会这么简单。不过谢谢
【解决方案3】:
setInterval("var x='www.WHAK.com/Packer/',y='WHAK.com/Packer/',z=document;z.title=z.title==x?y:x",900);

【讨论】:

  • 它基本上每 900 毫秒用一个高度缩小的 if 语句评估引号中的内容(如果它是 x,现在使 y 或如果它是 y 现在使其成为 x)。您可以在 @987654321 上缩小您的 JS @
  • if(x==""){x=100}else{x=0}; 将缩小为 x=""==x?100:0;
猜你喜欢
  • 2013-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-09
相关资源
最近更新 更多