jQuery在html页面标题标签中滚动字幕

时间:2010-11-04 16:44:03

标签: jquery tags scroll title marquee

我想使用jquery在我的html title标签中放置一个滚动字幕,但不知道怎样也无法在任何地方找到一个好的解释。有人能帮帮我吗?

4 个答案:

答案 0 :(得分:11)

如果你只想像marquee标签那样滚动,那就不是很难了:

(function titleMarquee() {
    document.title = document.title.substring(1)+document.title.substring(0,1);
    setTimeout(titleMarquee, 200);
})();

这是非常基本的,但应该让你知道如何根据自己的喜好调整它。

答案 1 :(得分:4)

在Tatu Ulmanen的回答中,空格字符存在问题。正如psarid所说的那样,在第一次滚动之后,所有的空格都被删除了。

这是因为html解析器修剪了文本。这意味着它删除了文本末尾和开头的空格。当标题滚动时,html中的标题对象如下所示:

<title>Scrolling Title With Spaces</title>
<title>crolling Title With SpacesS</title>
<title>rolling Title With SpacesSc</title>
<title>olling Title With SpacesScr</title>
...
<title>Title With SpacesScrolling</title>

正如您在上面所看到的,我们在单词ScrollingSpaces之间失去了空格。为了防止这种情况,我们需要将原始document.title存储在我们的javascript代码中,并在其末尾放置一个空格或其他内容。然后,我们可以通过滚动另一个变量中的文本来滚动document.title。这是Tatu Ulmanen的修改代码。

var documentTitle = document.title + " - ";

(function titleMarquee() {
    document.title = documentTitle = documentTitle.substring(1) + documentTitle.substring(0,1);
    setTimeout(titleMarquee, 200);
})();

答案 2 :(得分:0)

在页面头部添加以下脚本,然后调用body onload上的scrlsts()函数

<script type="text/javascript">
var scrl = $('title').text();
function scrlsts() {
     scrl = scrl.substring(1, scrl.length) + scrl.substring(0, 1);
     document.title = scrl;
     setTimeout("scrlsts()", 500);
     }
<script>

答案 3 :(得分:0)

没有JQuery插件:

setInterval(function () {
  $("head title").html($("head title").html().substring(1) + $("head title").html().substring(0,1));
}, 300);