如何创建像 Facebook 一样的标题提醒效果?
Posted
技术标签:
【中文标题】如何创建像 Facebook 一样的标题提醒效果?【英文标题】:How to create the title alert effect like Facebook? 【发布时间】:2011-03-23 19:51:04 【问题描述】:如何制作像facebook一样的闪烁标题效果?意思是,当您与某人聊天并收到新消息时,标题开始在原始标题和通知用户新消息到达的消息之间切换,并具有闪烁效果。
AdrianoKF的解释:
在收到新的聊天消息后,请注意窗口标题在“来自 Foo Bar 的新消息”和常规消息之间循环。
【问题讨论】:
请详细描述效果。不是每个人都使用 Facebook。另外,我确实使用它,但我不知道您在说什么。 什么标题???您是在谈论<title>
标签,页面中的<div>
,还是别的什么?编程是一门特定的科学,所以请具体一点。 有点............不是很具体。
OP 指的是窗口标题在“来自 Foo Bar 的新消息”和收到新聊天消息后的常规消息之间循环,我想。
@Darin Dimitrov,chrome 没有标题栏,但您可以在标签中看到标题。请注意...
@Darin,我想我发现你心情不好
【参考方案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=100elsex=0;
将缩小为 x=""==x?100:0;
以上是关于如何创建像 Facebook 一样的标题提醒效果?的主要内容,如果未能解决你的问题,请参考以下文章
像 Facebook 时间线一样创建 tableview ...... iPhone 应用程序 [关闭]
如何像在 mashable.com 中一样计算来自 Facebook、Twitter、G+ 等的总份额