Як зробити динамічний мінливий <title>
тег за допомогою jquery?
приклад: додавання 3 >
символів по одному
> title
>> title
>>> title
Як зробити динамічний мінливий <title>
тег за допомогою jquery?
приклад: додавання 3 >
символів по одному
> title
>> title
>>> title
Відповіді:
$(document).prop('title', 'test');
Це просто обгортка JQuery для:
document.title = 'test';
Щоб додати>> періодично, ви можете зробити:
function changeTitle() {
var title = $(document).prop('title');
if (title.indexOf('>>>') == -1) {
setTimeout(changeTitle, 3000);
$(document).prop('title', '>'+title);
}
}
changeTitle();
Немає необхідності використовувати jQuery для зміни заголовка. Спробуйте:
document.title = "blarg";
Докладніше див. У цьому питанні .
Щоб динамічно змінювати натискання кнопки:
$(selectorForMyButton).click(function(){
document.title = "blarg";
});
Щоб динамічно змінювати цикл, спробуйте:
var counter = 0;
var titleTimerId = setInterval(function(){
document.title = document.title + '>';
counter++;
if(counter == 5){
clearInterval(titleTimerId);
}
}, 100);
Щоб зв’язати два рядки, щоб вони динамічно змінювались при натисканні кнопки, у циклі:
var counter = 0;
$(selectorForMyButton).click(function(){
titleTimerId = setInterval(function(){
document.title = document.title + '>';
counter++;
if(counter == 5){
clearInterval(titleTimerId);
}
}, 100);
});
використання
$('title').html("new title");
var isOldTitle = true;
var oldTitle = document.title;
var newTitle = "New Title";
var interval = null;
function changeTitle() {
document.title = isOldTitle ? oldTitle : newTitle;
isOldTitle = !isOldTitle;
}
interval = setInterval(changeTitle, 700);
$(window).focus(function () {
clearInterval(interval);
$("title").text(oldTitle);
});
я використовую (і рекомендую):
$(document).attr("title", "Another Title");
і це працює в IE, це псевдонім
document.title = "Another Title";
Деякі обговорюватимуть, що краще, prop або attr , а оскільки prop викликає властивості DOM і attr Call властивості HTML, я думаю, це насправді краще ...
використовувати це після завантаження DOM
$(function(){
$(document).attr("title", "Another Title");
});
сподіваюся, це допоможе.
Деякі коди для перегляду списку заголовків (циркулярно або одноразово):
var titles = [
" title",
"> title",
">> title",
">>> title"
];
// option 1:
function titleAniCircular(i) {
// from first to last title and back again, forever
i = (!i) ? 0 : (i*1+1) % titles.length;
$('title').html(titles[i]);
setTimeout(titleAniCircular, 1000, [i]);
};
// option 2:
function titleAniSequence(i) {
// from first to last title and stop
i = (!i) ? 0 : (i*1+1);
$('title').html(titles[i]);
if (i<titles.length-1) setTimeout(titleAniSequence, 1000, [i]);
};
// then call them when you like.
// e.g. to call one on document load, uncomment one of the rows below:
//$(document).load( titleAniCircular() );
//$(document).load( titleAniSequence() );
Код HTML:
Change Title:
<input type="text" id="changeTitle" placeholder="Enter title tag">
<button id="changeTitle1">Click!</button>
Код JQuery:
$(document).ready(function(){
$("#changeTitle1").click(function() {
$(document).prop('title',$("#changeTitle").val());
});
});
Це дуже простий спосіб змінити заголовок сторінки за допомогою jquery ..
<a href="#" id="changeTitle">Click!</a>
Ось метод Jquery:
$(document).ready(function(){
$("#changeTitle").click(function() {
$(document).prop('title','I am New One');
});
});