标题闪动是一个比较老的需求了,今天有童鞋需要,写了一段简单的实现。

var blinkTitle = function (option) {
    var title = null;
    var newTitle = null;
    var handle = null;
    var state = false;
    var interval = null;

    if (option) {
        newTitle = option.newTitle ? option.newTitle : '';
        title = option.title ? option.title : document.title;
        interval = option.interval ? option.interval : 600;
    } else {
        newTitle = '';
        title = document.title;
        interval = 600;
    }

    function start() {
        if (state === true) {
            document.title = newTitle;
            state = false;
        } else {
            document.title = title;
            state = true;
        }
        handle = setTimeout(arguments.callee, interval);
    }

    function stop(option) {
        clearTimeout(handle);
        setTimeout(function () {
            console.log(option)
            if (typeof option === "string") {
                document.title = option;
            } else {
                document.title = title;
            }
        }, 200);
    }

    return {
        start: start,
        stop: stop
    }
}();

/**
 * 开始标题闪烁
 */
blinkTitle.start();
//可以传入几个可选的参数
blinkTitle.start({
    title: '设置新的文档默认标题内容',
    newTitle: '设置新的闪动标题内容',
    interval: 1000
});

/**
 * 停止标题闪烁
 */
blinkTitle.stop();
//如果你想让页面标题为一个新的内容的话,可以传入一个字符串
blinkTitle.stop('新的标题内容');