Communauté Informatique NDFR.net

Communauté Informatique NDFR.net (http://www.ndfr.net/forums/index.php)
-   Design Web / Graphisme (http://www.ndfr.net/forums/forumdisplay.php?f=63)
-   -   probleme de texte tournant en javascript qui marche pas !!! (http://www.ndfr.net/forums/showthread.php?t=4706)

sel31 22-07-2004 12:53

probleme de texte tournant en javascript qui marche pas !!!
 
Bonjour

j'espère que quelqu'un pourra m'expliquer pourquoi ma page ne fonctionne pas correctement.

en effet je voudrais que mes deux textes tournent en même temps or un seul fonctionne !!

merci d'avance

<html>
<head>
<title>Document sans titre</title>
<script>
// Les Messages que l'on veut voir s'afficher
var message = new Array()
message[0]="Maisons Individuelles"
message[1]="Petits Collectifs"
message[2]="Bâtiments Industriels"
message[3]="Neuf & Rénovation"

var message2 = new Array()
message2[0]="Particuliers"
message2[1]="Architectes"
message2[2]="Promoteurs"

// La taille de l'objet1 en hauteur
var scrollerheight=200
// La taille de l'objet21 en hauteur
var scrollerheight2=200
// La taille de l'objet1 en largeur
var scrollerwidth=800
// La taille de l'objet2 en largeur
var scrollerwidth2=800
// La police 1
var font_family="Verdana"
// La police 2
var font_family2="Verdana"
// La taille de la police 1
var font_size=50
// La taille de la police 2
var font_size2=50
// La position horizontale de l'objet en pixels 1
var x_textposition=10
// La position horizontale de l'objet en pixels 2
var x_textposition2=100
// Position verticale de l'objet en pixels 1
var y_textposition=10
// Position verticale de l'objet en pixels 2
var y_textposition2=100

var i_message=0
var i_message2=0
var i_loop=0
var i_loop2=0
var max_loop=45
var max_loop2=45
var timer
var timer2
scrollerwidth=2*scrollerwidth
scrollerwidth2=2*scrollerwidth2
y_textposition=y_textposition-scrollerheight+font_size
y_textposition2=y_textposition2-scrollerheight2+font_size2
x_textposition=x_textposition-Math.floor(scrollerwidth/2)
x_textposition2=x_textposition2-Math.floor(scrollerwidth2/2)

function initiate() {
if (document.all) {
document.all.rotationstyle.style.posLeft=x_textposition
document.all.rotationstyle.style.posTop=y_textposition
changemessage()
}}

function initiate2() {
if (document.all) {
document.all.rotationstyle2.style.posLeft=x_textposition2
document.all.rotationstyle2.style.posTop=y_textposition2
changemessage2()
}}

function changemessage() {
do_rotate="yes"
rotationstyle.innerHTML=
'<object id="rotationobj" classid="clsid:369303C2-D7AC-11d0-89D5-00A0C90833E6" style="position:relative;width:'+scrollerwidth+'px;height:'+2*scrollerheight+'px">'+
'<param name="Line0001" value="SetLineStyle(0)">'+
'<param name="Line0002" value="SetLineColor(255,255,255)">'+
'<param name="Line0003" value="SetFillColor(0,0,255)">'+
'<param name="Line0004" value="SetFont(\''+font_family+'\', '+font_size+', 400, 0, 0, 0)">'+
'<param name="Line0005" value="Text(\''+message[i_message]+'\',0, 2, 0)">'+
'</object>'
rotationobj.Rotate(-90,0,0)
startscroll()}

function changemessage2() {
do_rotate="yes"
rotationstyle2.innerHTML=
'<object id="rotationobj2" classid="clsid:369303C2-D7AC-11d0-89D5-00A0C90833E6" style="position:relative;width:'+scrollerwidth2+'px;height:'+2*scrollerheight2+'px">'+
'<param name="Line0001" value="SetLineStyle(0)">'+
'<param name="Line0002" value="SetLineColor(255,255,255)">'+
'<param name="Line0003" value="SetFillColor(0,0,255)">'+
'<param name="Line0004" value="SetFont(\''+font_family2+'\', '+font_size2+', 400, 0, 0, 0)">'+
'<param name="Line0005" value="Text(\''+message2[i_message2]+'\',0, 2, 0)">'+
'</object>'
rotationobj2.Rotate(-90,0,0)
startscroll2()}

function startscroll() {
if (i_loop < max_loop) {
rotationobj.Rotate(2,0,0)
i_loop++
timer=setTimeout("startscroll()",20)
}
else {
i_loop=0
timer=setTimeout("endscroll()",2000)
}
}
function startscroll2() {
if (i_loop2 < max_loop2) {
rotationobj2.Rotate(2,0,0)
i_loop2++
timer2=setTimeout("startscroll2()",20)
}
else {
i_loop2=0
timer2=setTimeout("endscroll()2",2000)
}
}
function endscroll() {
if (i_loop < max_loop) {
rotationobj.Rotate(-2,0,0)
i_loop++
timer=setTimeout("endscroll()",50)
}
else {
i_message++
i_loop=0
if (i_message>=message.length) {i_message=0}
timer=setTimeout("changemessage()",1000)
}
}
function endscroll2() {

if (i_loop2 < max_loop2) {
rotationobj2.Rotate(-2,0,0)
i_loop2++
timer2=setTimeout("endscroll2()",50)
}
else {
i_message2++
i_loop2=0
if (i_message2>=message2.length) {i_message2=0}
timer2=setTimeout("changemessage2()",1000)
}
}
</script>
</head>
<body onLoad="initiate(); initiate2();">
<span id="rotationstyle" style="position: absolute">
<object classid="clsid:369303C2-D7AC-11d0-89D5-00A0C90833E6" id="rotationobj" style="left: 0px; top: 0px" viewastext>
<param name="SourceURL" value="">
<param name="CoordinateSystem" value="0">
<param name="MouseEventsEnabled" value="0">
<param name="HighQuality" VALUE="0">
<param name="PreserveAspectRatio" value="-1">
</object></span>
<span id="rotationstyle2" style="position: absolute">
<object classid="clsid:369303C2-D7AC-11d0-89D5-00A0C90833E6" id="rotationobj2" style="left: 0px; top: 0px" viewastext>
<param name="SourceURL" value="">
<param name="CoordinateSystem" value="0">
<param name="MouseEventsEnabled" value="0">
<param name="HighQuality" VALUE="0">
<param name="PreserveAspectRatio" value="-1">
</object></span>
</body>
</html>

Matt 22-07-2004 13:09

Problème simple : en Javascript, les instructions s'exécutent une à une. Au chargement de la page, initiate2() n'est donc exécutée que lorsque l'exécution d'initiate() est terminée. Cette fonction étant une fonction ne terminant pas (boucle infinie), initiate2() n'est jamais appellée.
La solution consiste donc à fusionner tes fonctions pour qu'il n'y ait plus qu'une seule fonction de chaque type (en gros, tu supprimes toutes les fonction *2, et dans les fonctions restantes, à chaque fois qu'il y a une référence à rotationobj, tu rajoutes une référence à rotationobj2).


All times are GMT +2. The time now is 23:46.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.