如何在无限循环中更改网站的标题?当消息到来时,函数changeTitle()
执行一段时间以点击用户按钮,但是当无限循环运行时我无法做任何事情。
功能ClickButton
$("#userButton").click(function(){
$("#hNot").val("");
});
功能changeTitle和sleep
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds) {
break;
}
}
}
function changeTitle() {
do {
document.title = "New message...";
sleep(1000);
var text = "From " + $("#hNot").val() + "...";
document.title = text;
sleep(1000);
} while ($("#hNot").val() != "") {
document.title = "title default";
}
};
答案 0 :(得分:0)
使用带setTimeout
的函数,而不是任何循环(循环将在执行期间阻止整个UI,所以在你的情况下永远都是这样):
function changeTitle(type) {
if ($("#hNot").val() != "") {
if (type === 1) {
document.title = "New message...";
type = 0;
} else {
document.title = "From " + $("#hNot").val() + "...";
type = 1;
}
setTimeout(function(){ changeTitle(type) }, 1000);
} else {
document.title = "tittle default";
}
}
changeTitle(1); //launch title change