Comment faire des changements dynamiques <title>
avec jquery ?
exemple : ajouter 3 >
les symboles, un par un
> title
>> title
>>> title
Comment faire des changements dynamiques <title>
avec jquery ?
exemple : ajouter 3 >
les symboles, un par un
> title
>> title
>>> title
$(document).prop('title', 'test');
Il s'agit simplement d'une enveloppe JQuery pour :
document.title = 'test';
Pour ajouter un > périodiquement vous pouvez faire :
function changeTitle() {
var title = $(document).prop('title');
if (title.indexOf('>>>') == -1) {
setTimeout(changeTitle, 3000);
$(document).prop('title', '>'+title);
}
}
changeTitle();
Il n'est pas nécessaire d'utiliser jQuery pour modifier le titre. Essayez :
document.title = "blarg";
Ver cette question pour plus de détails.
Pour changer dynamiquement sur le clic du bouton :
$(selectorForMyButton).click(function(){
document.title = "blarg";
});
Pour changer dynamiquement en boucle, essayez :
var counter = 0;
var titleTimerId = setInterval(function(){
document.title = document.title + '>';
counter++;
if(counter == 5){
clearInterval(titleTimerId);
}
}, 100);
Pour enchaîner les deux afin qu'ils changent dynamiquement au clic du bouton, dans une boucle :
var counter = 0;
$(selectorForMyButton).click(function(){
titleTimerId = setInterval(function(){
document.title = document.title + '>';
counter++;
if(counter == 5){
clearInterval(titleTimerId);
}
}, 100);
});
Du code pour parcourir une liste de titres (circulaire ou one-shot) :
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() );
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.