Changer le sens d'un texte qui défile [Résolu]

Signaler
Messages postés
102
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
29 mai 2012
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjour à tous,

je viens de plonger les mains dans un site dont je suis chargé de faire la refonte et je souhaiterais changer le sens du texte qui défile actuellement du bas vers le haut, je voudrais qu'il parte de la droite vers la gauche, l'ennui c'est qu'il m'est difficile d'interpréter ce code dont je ne suis pas l'auteur...

Pourriez vous m'aider à le comprendre afin que je sois capable de le modifier.
voici le code qui me pose problème :

function addScrollers() {
startScroll('myscroller',contenu);
}
var speed=4;
var dR=false;
var step = 2; 
function objWidth(obj) {if(obj.offsetWidth) return obj.offsetWidth; if (obj.clip) return obj.clip.width; return 0;} function objHeight(obj) {if(obj.offsetHeight) return obj.offsetHeight; if (obj.clip) return obj.clip.height; return 0;} function scrF(i,sH,eH){var x=parseInt(i.top)+(dR? step: -step); if(dR && x>sH)x=-eH;else if(x<2-eH)x=sH;i.top = x+'px';} function startScroll(sN,txt){var scr=document.getElementById(sN); var sW = objWidth(scr)-6; var sH = objHeight(scr); scr.innerHTML = '
'+txt+'<\/div>'; var sTxt=document.getElementById(sN+'in'); var eH=objHeight(sTxt); sTxt.style.top=(dR? -eH : sH)+'px'; sTxt.style.clip='rect(0,'+sW+'px,'+eH+'px,0)'; setInterval(function() {scrF(sTxt.style,sH,eH);},1000/speed);}
window.onload = addScrollers;



Merci d'avance pour toutes les informations que vous pourrez m'apporter.

10 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Bonjour,
je viens de tester le code en l'état et....
pourquoi ne pas utiliser le balise MARQUEE, elle fait la même chose, exemple tiré du sac...
<html>
<head>
<title>Balise MARQUEE</title>
<style type="text/css">
.message {
  width : 350px;
  border :1px solid #c0c0c0;
  font-family : Verdana;
  font-size : 13px;
}
</style>
</head>

<marquee class="message">
Harum trium sententiarum nulli prorsus assentior. Nec enim illa prima vera est, ut, quem ad modum in se quisque sit, sic in amicum sit animatus.
</marquee>

</html>


;O)
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Bonjour,
il aurait été sympa de formater la sortie du code pour pas tout avoir sur une même ligne, mais bon...
...donc dans ta fonction scrF il faut faire varier le left et non le top
;O)
Messages postés
102
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
29 mai 2012

Merci pour ta réponse mais je ne suis pas sur de comprendre, il faut que je remplace les top par des left ?
Je viens de tester, j'ai un bloc d'infos qui est sur plusieurs lignes et ce bloc se déplace de droite à gauche, je voudrais que ce bloc entier s'affiche en une seule ligne...je dois encore chercher mais je te remercie pour l'info, je pense que ça va me permettre de débloquer la situation et désolé pour l'affichage en ligne mais lorsque je l'ai formaté un peu, la fonction ne fonctionnait plus alors j'ai préféré la laisser comme ça.
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
...je voudrais que ce bloc entier s'affiche en une seule ligne...
ceci est à modifier dans le HTML voir le CSS

;O)
Messages postés
102
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
29 mai 2012

Je te remercie de ton aide mais j'ai beau parcourir mon css ou mon code html, je n'arrive pas à isoler les propriétés qui définissent la taille de mon objet.

Dans ma fonction, j'ai pourtant les propriétés width qui sont utilisées, es tu sur que cela n'est pas à prendre en compte ?
Messages postés
102
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
29 mai 2012

Je vais répondre à ma question moi même, la propriété width joue un bien rôle sur la largeur de mon objet mais mon problème n'est pas de définir la taille de mon objet mais de le faire défiler jusqu'à ce qu'il ait atteint la fin du message...

Une idée ?
Messages postés
102
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
29 mai 2012

super, je ne connaissais pas du tout cette balise, c'est vrai que c'est exactement ce que je veux. Je n'ai plus qu'à récupérer les infos de ma BDD pour les afficher dedans mais est il possible de contrôler la vitesse de défilement ?

Je te remercie de ton aide.
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
tout et le reste chez MSDN : MARQUEE Element

;O)
Messages postés
102
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
29 mai 2012

Je te remercie, toutes tes informations m'ont été précieuse pour résoudre ce problème. Je n'ai pas encore eu le temps de regarder pour la vitesse de défilement du texte mais la solution proposées répond assez bien à ce que je voulais faire mis à part le fait que je ne peux pas afficher plusieurs infos différentes les unes à la suite des autres... mais une info c'est déjà pas mal. Merci beaucoup, c'est toujours aussi plaisant de voir que des personnes prennent le temps de répondre aux problématiques des autres...vive la communauté code source
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Bonjour,
SCROLLAMOUNT pour jouer sur le pas d'avance, la distance en pixel entre 2 affichages.
SCROLLDELAY pour jouer sur la vitesse de déplacement, la vitesse à laquelle on fait les déplacement.

la nuance existe!

je ne peux pas afficher plusieurs infos différentes les unes à la suite des autres.
il doit y avoir moyen en les mettant bout à bout..

;O)