Message déroulant [Résolu]

Messages postés
2
Date d'inscription
lundi 28 mars 2016
Dernière intervention
28 mars 2016
- - Dernière réponse : bevig15
Messages postés
2
Date d'inscription
lundi 28 mars 2016
Dernière intervention
28 mars 2016
- 28 mars 2016 à 14:48
Bonjour,
J'ai pris exemple sur le code de JLM CONSULTANT pour faire un texte déroulant que j'inclus en titre d'une page web.
Cela marche, mais big PB c'est que c'est long à démarrer et je n'arrive pas à voir pourquoi.
Quelqu'un peut-il m'aider ?
Voici mon code :
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="utf-8" />
<title>Texte defilant JS</title>
<style>
#bandeau
{
display:block;
margin: auto;
width: 650px;
position: relative;
padding-left: 5px;
margin-bottom: auto;
box-shadow: 1px 7px 5px 2px #BDBDBD;
border-radius: 2px;
}
.textebandeau
{
font-style:italic;
font-weight:bold;
font-size:36px;
font-style:italic;
font-weight:bold;
color:blue;
position:relative;
white-space:nowrap;
display:inline;
float:left;
padding:5px
}
</style>
</head>
<body>
<div id="bandeau">
<div id="defil1" style="position:relative;width:650px;overflow:hidden" onMouseOver="Pause1();" onMouseOut="Defile1();" >
<div id="contenu1" class="textebandeau">
</div>
</div>
</div>
<script type="text/javascript">

// defilement horizontal du texte du bandeau

var Timer1 ;
var Vitesse1 = 15 ;
var Scroll1 = 0 ;
var P1 = 0 ;
var Intro1 = true ;
var Boucle1 = false ;
// Texte1 peut être renseigné par une variable php
var Texte1 = 'Et la maintenant mon texte de titre page' ;
// La séparation entre chaque texte
Texte1 = Texte1 + ' - ' ;
var Contenu1 = document.getElementById("contenu1") ;
Contenu1.innerHTML = Texte1 ;
var LargC = Contenu1.clientWidth ;
var Defil1 = document.getElementById("defil1") ;
var LargD = Defil1.clientWidth ;
Contenu1.style.left = LargD + "px" ;

function Defile1()
{
while ( LargC <= LargD )
{
Texte1 += Texte1 ;
Contenu1.innerHTML += Texte1 ;
LargC = Contenu1.clientWidth ;
}
if ( P1 == 0 )
{
Contenu1.innerHTML += Texte1 ;
P1 = 1 ;
}
Scroll1++ ;
if ( Intro1 == true && Scroll1 == LargD )
{
Scroll1 = 0 ;
Contenu1.style.left = 0 + 'px' ;
Intro1 = false ;
Boucle1 = true ;
}
if ( Boucle1 == true && Scroll1 == LargC-20 ) // -10 compense le padding de 5px du div contenu1
{
Scroll1 = 0 ;
Contenu1.style.left = 0 + 'px' ;
}
Contenu1.style.left = ( Contenu1.offsetLeft - 1 ) + 'px' ;
Timer1 = setTimeout('Defile1()', Vitesse1) ;
}

function Pause1()
{
clearTimeout(Timer1) ;
}

</script>
</body>
</html>
Afficher la suite 

Votre réponse

2 réponses

Messages postés
1663
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
3 novembre 2018
0
Merci
bonjour

il faut lancer la fonction au chargement de la page

rajoute cette ligne

typeof window.addEventListener == 'undefined' ? window.attachEvent("onload",Defile1) : addEventListener("load",Defile1, false);

Commenter la réponse de @karamel
Messages postés
2
Date d'inscription
lundi 28 mars 2016
Dernière intervention
28 mars 2016
0
Merci
Merci Kazma.
J'essai ton code. C'est bien ce qui me semblait, mais je ne savais pas comment m'y prendre. Je débute en js, malgré mon age avancé et mon expérience informatique.

Hé bien clean. Trés merci beaucoup pour cette aide. ça marche "du feu de dieu" comme on dit. Nickel.
Commenter la réponse de bevig15

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.