Defilement texte javascript [Résolu]

Signaler
Messages postés
17
Date d'inscription
dimanche 1 mars 2009
Statut
Membre
Dernière intervention
16 mai 2011
-
cs_jopop
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
-
Bonjour à tous et à toute.

Je réalise en ce moment ce site.
Vous remarquerez dans le header un texte défilent grâce a ce petit code Javascript que j'ai trouver :
Pour "Ils nous font confiance:"
var defile;// l'element a deplacer
var psinit = 285; // position horizontale de depart
var pscrnt = psinit;       
function texteDefile() {
   if (!defile) defile = document.getElementById('defile');
   if (defile) {
      if(pscrnt < ( - defile.offsetWidth) ){
         pscrnt = psinit;
                } else {
         pscrnt+= -1; // pixel par deplacement
      }
      defile.style.left = pscrnt+"px";
   }
}
setInterval("texteDefile()",20); // delai de deplacement

et pour "Partenaires:", où rien ne change à part l'id
var defile2;// l'element a deplacer
var psinit = 285; // position horizontale de depart
var pscrnt = psinit;       
function texteDefile2() {
   if (!defile2) defile2 = document.getElementById('defile2');
   if (defile2) {
      if(pscrnt < ( - defile2.offsetWidth) ){
         pscrnt = psinit;
                } else {
         pscrnt+= -1; // pixel par deplacement
      }
      defile2.style.left = pscrnt+"px";
   }
}
setInterval("texteDefile2()",20); // delai de deplacement  


Même si au départ il est conçu pour du texte, les images ne semblent pas pauser de problème. Seulement voila, vous remarquerez une différence de défilement dans les deux balises: la première est fluide, tandis que dans la seconde, les images et les mots s'affichent par "paquets".

Quelqu'un aurait-il une explication à ce mystère mystérieux fort étrange ?

Merci d'avance

7 réponses

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
Salut,

je vois que certaines variables globales sont partagées (psinit & pscrnt). As-tu tenté de les nommer différemment pour ta deuxième fonction ? Ou de les intégrer au corps de tes fonctions ?
Messages postés
17
Date d'inscription
dimanche 1 mars 2009
Statut
Membre
Dernière intervention
16 mai 2011

Bon et bien j'ai trouver la solution, il fallait que je définisse une largeur pour "defile" et "defile2" dans la feuille de style.

/ CLOSED ! /
Messages postés
17
Date d'inscription
dimanche 1 mars 2009
Statut
Membre
Dernière intervention
16 mai 2011

Effectivement, je vais voir ça. Il faudrait aussi que je change la position horizontale de départ, car le texte a changé de place dans la page mais étrangement cela n'a rien perturber.

Merci à toi!
Messages postés
17
Date d'inscription
dimanche 1 mars 2009
Statut
Membre
Dernière intervention
16 mai 2011

J'ai rajouté un 2 sur les variables en question :

var defile2;// l'element a deplacer
var psinit2 = 285; // position horizontale de depart
var pscrnt2 = psinit2;       
function texteDefile2() {
   if (!defile2) defile2 = document.getElementById('defile2');
   if (defile2) {
      if(pscrnt2 < ( - defile2.offsetWidth) ){
         pscrnt2 = psinit2;
                } else {
         pscrnt2+= -1; // pixel par deplacement
      }
      defile2.style.left = pscrnt2+"px";
   }
}
setInterval("texteDefile2()",20); // delai de deplacement  


Alors ça n'a pas résolu le problème, par contre le défilement est plus lent, mais ce n'ai pas gênant.
Messages postés
17
Date d'inscription
dimanche 1 mars 2009
Statut
Membre
Dernière intervention
16 mai 2011

Je me demande bien à quoi sert "position horizontal de départ", je l'ai changer à 600 et l'affichage est le même.

Sinon, que veux tu dire par
les intégrer au corps de tes fonctions
?

Je ne m'y connais pas vraiment en javascript pour ainsi dire...

Tiens je viens de remarquer que le défaut de défilement "non fluide" est maintenant sur les deux éléments, peut être qu'il y a bien un lien avec la variable "psinit"
Messages postés
17
Date d'inscription
dimanche 1 mars 2009
Statut
Membre
Dernière intervention
16 mai 2011

Heu comment on clôt un topic ? ...
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
On peut pas clore un topic, tu notes juste que tu as bien trouvé ta solution
Comac certains pour venir demander des précisions s'ils ont le même pb ;)