Je veux placer un rectangle de défilement dans ma balise de titre html en utilisant jquery mais je ne sais pas comment et ne peux pas trouver une bonne explication en ligne n'importe où. Quelqu'un peut-il m'aider s'il vous plaît?jQuery défilement dans la balise de titre de la page html
Répondre
Ce n'est pas très difficile à faire si vous voulez juste pour faire défiler comme la balise marquee
:
(function titleMarquee() {
document.title = document.title.substring(1)+document.title.substring(0,1);
setTimeout(titleMarquee, 200);
})();
C'est assez basique, mais devrait vous donner une idée sur la façon de modifier à votre goût.
Merci pour le code .. cela fonctionne bien, sauf pour un attelage. Après le premier défilement, pour une raison quelconque, tous les espaces sont supprimés et les mots sont croqués les uns à côté des autres. Comment puis-je préserver les espaces? Merci, Phil – psarid
@psarid J'ai posté une réponse pour résoudre ce problème. – sedran
Dans la réponse de Tatu Ulmanen, il y a un problème avec les caractères d'espace. Comme psarid indiqué comme commentaire, après le premier parchemin, tous les espaces sont supprimés.
Ceci est dû au fait que l'analyseur html coupe les textes. Cela signifie qu'il supprime les espaces à la fin et au début du texte. Lorsque le titre défile, l'objet de titre en HTML ressemble à ça:
<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>
Comme vous pouvez le voir ci-dessus, nous avons perdu l'espace entre les mots Scrolling
et Spaces
. Pour éviter cela, nous devons stocker l'original document.title
quelque part dans notre code javascript et mettre un espace ou quelque chose d'autre à la fin de celui-ci. Ensuite, nous pouvons faire défiler document.title
en faisant défiler le texte dans l'autre variable. Voici le code modifié de Tatu Ulmanen.
var documentTitle = document.title + " - ";
(function titleMarquee() {
document.title = documentTitle = documentTitle.substring(1) + documentTitle.substring(0,1);
setTimeout(titleMarquee, 200);
})();
Ajoutez le script ci-dessous sur la tête de page, puis appeler les scrlsts() fonction sur le corps 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>
Il parle de la balise HTML
Sur une autre note @sadmicrowave pourquoi au nom de Dieu voudriez-vous faire cela? –
hahaha, ok, de toute façon ... y at-il un moyen d'empêcher les réponses qui auraient été demandées dans les jours de guerre du navigateur;) –