如何使标题闪烁,直到它成为活跃的jQuery
How to make a title blink until it becomes active with jQuery?
我有一个javascript聊天。当用户收到消息时,我希望标题闪烁,直到激活为止。(如Gmail Talk)
例如:- 您在另一个选项卡中。标题为
My website
有人在跟你说话。
My website
和User says: bla bla
标题闪烁点击标签页,现在标题是My website
如何使用jQuery实现?
到目前为止我所尝试的:(闪烁从未停止播放)
var isOldTitle = true;
var oldTitle = "oldTitle";
var newTitle = "newTitle";
function changeTitle() {
document.title = isOldTitle ? oldTitle : newTitle;
isOldTitle = !isOldTitle;
setTimeout(changeTitle, 700);
}
changeTitle();
完整解决方案:
var isOldTitle = true;
var oldTitle = "oldTitle";
var newTitle = "newTitle";
var interval = null;
function changeTitle() {
document.title = isOldTitle ? oldTitle : newTitle;
isOldTitle = !isOldTitle;
}
interval = setInterval(changeTitle, 700);
$(window).focus(function () {
clearInterval(interval);
$("title").text(oldTitle);
});
Pinouchon的答案是有效的,但是如果我必须添加一个间隔检查,那么当一个人连续多次发送消息时,它不会加速标题的更改。这里是
if(timeoutId)
{
clearInterval(interval);
}
interval = setInterval(changeTitle, 700);
基本上,如果间隔已经设置,清除它,然后重置它
请记住在焦点上调用clearInterval
:
(function() {
var timer,
title = $('title'),
title_text = title.text();
$(window).blur(function() {
timer = setInterval(function() {
title.text(title.text().length == 0 ? title_text : '');
}, 2000)
}).focus(function() {
clearInterval(timer);
title.text(title_text);
});
})();
你可以试试这个。你可以调用blink函数来开始在两个标题之间切换,当你不想再这样做的时候,可以调用stop函数。
var title = document.title;
var interval = 0;
function blink(title1, title2, timeout){
title2 = title2 || title;
timeout = timeout || 1000;
document.title = title1;
interval = setInterval(function(){
if(document.title == title1){
document.title = title2;
}else{
document.title = title1;
}
}, timeout);
}
function stop(){
clearInterval(interval);
document.title = title;
}
blink('My blinking title!');
setTimeout(function(){
stop();
}, 5000)
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- 用程序搜索JQuery数据表中的文本
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jQuery匹配JSON对象的部分文本
- Jquery POST未填充数组
- JQuery使计数器每次更改时都会增加
- 如何在Angular2中使用jQuery插件
- 提高JQuery的性能
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JQuery合并了keyup和focusout两个函数
- 如何使用jQuery选择下拉列表的值
- 将PHP变量传递给jQuery时遇到问题
- jQuery UI自动完成突然停止工作
- Jquery取消悬停事件,而切换事件是活跃的
- 如何使标题闪烁,直到它成为活跃的jQuery
- jQuery setInterval太快,当选项卡是不活跃的
- 如何让背景淡出时,jQuery对话框是活跃的