使用<title>标记加载多个不同的文本字符串

时间:2017-03-14 18:26:13

标签: javascript html tags title

&lt; p&gt;我见过一些网站(例如&lt; a href =“http://www.legworkstudio.com/”rel =“nofollow noreferrer”&gt; http://www.legworkstudio.com/< / a&gt;)标签按间隔更改,我认为它是通过Javascript完成的,但我还没有看到任何关于此类操作的文档。&lt; / p&gt; &lt; p&gt;我不相信document.title会对此有所帮助,但也许我误解了如何正确使用它。&lt; / p&gt; &lt; p&gt;有人看过类似这样的内容或者最好的方法吗?&lt; / p&gt; &LT; HR&GT; &lt; p&gt;基本上在HTML中,它每隔几秒就会显示一次:&lt; / p&gt; &lt; pre&gt;&lt; code&gt;&lt; title&gt; Title 1&lt; / title&gt; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;然后在几秒后&lt; / p&gt; &lt; pre&gt;&lt; code&gt;&lt; title&gt; Title 2&lt; / title&gt; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;然后再过几秒钟&lt; / p&gt; &lt; pre&gt;&lt; code&gt;&lt; title&gt; Title 3&lt; / title&gt; &LT; /代码&GT;&LT; /预&GT;

3 个答案:

答案 0 :(得分:1)

我认为document.title可以正常工作。试试这个:

var titles = ["Title1", "Title2", "Title3"];
var currentTitle = 0;
setInterval(function(){
    document.title = titles[currentTitle];
    if (currentTitle < titles.length - 1) {
        currentTitle++;
    } else {
        currentTitle = 0;
    }
}, 3000);

如果您将此脚本添加到页面中,它应该每隔三秒将页面标题更改为titles数组的下一个元素,并无限期地循环回到数组的开头。

要更改更改之间的时间长度,只需将3000更改为更改之间的毫秒数。

要在任何时候停止循环,您可以使用clearInterval()

这会解决您的问题吗?

答案 1 :(得分:0)

您应该使用窗口setInterval方法,然后使用选择器来修改标题元素内容

来自W3school的文档: https://www.w3schools.com/jsref/met_win_setinterval.asp

答案 2 :(得分:0)

document除了write之外,还有很多方法和属性。在这种情况下,您可以使用title属性访问和修改标题。

有了这个和超时/间隔你循环标题做这样的事情:

var titles = ["Title 1", "My second title", "yay! third title shown!"];
setInterval(function() {
    document.title = titles.shift(); // Get the first element in the array and remove it.
    titles.push(document.title); // Push the element to the end of the array
}, 5000); // Milliseconds to loop

我喜欢codegolf,所以你可以这样做:P:

setInterval(function() {
    titles.push(document.title = titles.shift()); // Get the first element in the array, remove it, assign it to title and push it back to the end of the array.
}, 5000);