Message déroulant [Résolu]

bevig15 2 Messages postés lundi 28 mars 2016Date d'inscription 28 mars 2016 Dernière intervention - 28 mars 2016 à 11:56 - Dernière réponse : bevig15 2 Messages postés lundi 28 mars 2016Date d'inscription 28 mars 2016 Dernière intervention
- 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 

2 réponses

Répondre au sujet
@karamel 1655 Messages postés vendredi 9 mai 2008Date d'inscriptionModérateurStatut 19 avril 2018 Dernière intervention - 28 mars 2016 à 12:46
0
Utile
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
bevig15 2 Messages postés lundi 28 mars 2016Date d'inscription 28 mars 2016 Dernière intervention - Modifié par bevig15 le 28/03/2016 à 14:55
0
Utile
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.