我想使用jquery在我的html title标签中放置一个滚动字幕,但不知道怎样也无法在任何地方找到一个好的解释。有人能帮帮我吗?
答案 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>
正如您在上面所看到的,我们在单词Scrolling
和Spaces
之间失去了空格。为了防止这种情况,我们需要将原始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);