JQuery Scrolling Marquee в заголовок страницы HTML
Вопрос
Я хочу разместить прокрутку MARQuee в моем HTML Title Tag, используя jQuery, но не знаю, как и не может, кажется, не может найти хорошее объяснение в Интернете где угодно. Может кто-то мне помочь, пожалуйста?
Решение
Это не очень трудно сделать, если вы просто хотите, чтобы это прокручивалось, как marquee
ярлык:
(function titleMarquee() {
document.title = document.title.substring(1)+document.title.substring(0,1);
setTimeout(titleMarquee, 200);
})();
Это довольно базовый, но должен дать вам представление о том, как настроить его по своему вкусу.
Другие советы
В ответе Тату Ульмана есть проблема с космическими персонажами. Поскольку псарид заявил как комментарий после первого свитка, все пробелы удаляются.
Это связано с тем, что HTML Parser Trims Texts. Это означает, что он удаляет пробелы в конце и в начале текста. Когда заголовок прокручивается, объект заголовка в 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);
})();
Добавьте следующий скрипт на головку страницы, а затем вызовите функцию SCRLSTS () на Body onload
<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>
Нет jquery vove wode Fazer Assim:
setInterval(function () {
$("head title").html($("head title").html().substring(1) + $("head title").html().substring(0,1));
}, 300);