Bonjour,
La page d'accueil du site sur lequel je tente de faire des modifs dispose d'un bloc avec un texte défilant reprenant les titres des dernières news de la partie "News".
Or ce code qui fonctionne bien avec IE, ne marche pas avec FF où le texte reste coincé tout à droite de mon bloc sans défiler.
L'analyse de cette page par Web Developper me donne le message d'erreur suivant "CSS error : Erreur d'analyse de la valeur pour la propriété left"
Voic le code PHP de la partie accueil :
<script type="text/javascript">
<!--
var singletext=new Array();
<?php
for($i=0;$i<count($news);$i++)
{
?>
singletext[<?php echo $i?>]="<nobr align=\"center\"><a href=\"index.php?section=news\"><span class=\"defilnews\"><?php echo $news[($i+1)]?> :</span></a> <span class=\"newsAcc\" Onclick=\"javascript:document.location.href=\'index.php?section=news\'\"><?php echo $corps[($i+1)]?>...</span></nobr>";
<?php
}
?>
//-->
</script>
<div id="news">
<script type="text/javascript">
<!--
if(document.layers){document.write('<ilayer width='+swidth+' height='+sheight+' bgcolor='+sbcolor+'><layer width='+swidth+' height='+sheight+' onmouseover="sspeed=0;" onmouseout="sspeed=restart;"></layer></ilayer>');}
if(document.getElementById||document.all){document.write('<div style="position:relative;overflow:hidden;width:'+swidth+';height:'+sheight+';clip:rect(0 '+swidth+' '+sheight+' 0);background-color:'+sbcolor+';" onmouseover="sspeed=0;" onmouseout="sspeed=restart;"><div id="iens6div" style="position:absolute;height:'+sheight+';"></div></div>');}//--></script>
</div>
Et le code javascript de la page news.js :
var swidth="650px";
var sheight="25px";
var sspeed=4;
var restart=sspeed;
var rspeed=sspeed;
var spause=2000;
var sbcolor="none";
var ii="0";
function goup()
{
if(sspeed!=rspeed*8)
{sspeed=sspeed*2;
restart=sspeed;}
}
function godown()
{
if(sspeed>rspeed)
{sspeed=sspeed/2;
restart=sspeed;}
}
function start()
{
if(document.getElementById)
{ns6div=document.getElementById("iens6div");
ns6div.style.left=swidth;
ns6div.innerHTML=singletext[0];
sizeup=ns6div.offsetWidth;
ns6scroll();}
else if(document.layers)
{ns4layer=document.ns4div.document.ns4div1;
ns4layer.left=swidth;
ns4layer.document.write(singletext[0]);
ns4layer.document.close();
sizeup=ns4layer.document.width;
ns4scroll();}
else if(document.all)
{iediv=iens6div;
iediv.style.pixelLeft=swidth;
iediv.innerHTML=singletext[0];
sizeup=iediv.offsetWidth;
iescroll();}
}
function iescroll()
{
if(iediv.style.pixelLeft>0&&iediv.style.pixelLeft<=sspeed)
{iediv.style.pixelLeft=0;
setTimeout("iescroll()",spause);}
else if(iediv.style.pixelLeft>=sizeup*-1)
{iediv.style.pixelLeft-=sspeed;
setTimeout("iescroll()",100);}
else if(ii==singletext.length-1)
{ii=0;}
else
{ii++;
iediv.style.pixelLeft=swidth;
iediv.innerHTML=singletext ii ;
sizeup=iediv.offsetWidth;
iescroll();}
}
function ns4scroll()
{
if(ns4layer.left>0&&ns4layer.left<=sspeed)
{ns4layer.left=0;
setTimeout("ns4scroll()",spause);}
else if(ns4layer.left>=sizeup*-1)
{ns4layer.left-=sspeed;
setTimeout("ns4scroll()",100);}
else if(ii==singletext.length-1)
{ii=0;}
else
{ii++;
ns4layer.left=swidth;
ns4layer.document.write(singletext ii );
ns4layer.document.close();
sizeup=ns4layer.document.width;
ns4scroll();}
}
function ns6scroll()
{
if(parseInt(ns6div.style.left)>0&&parseInt(ns6div.style.left)<=sspeed)
{ns6div.style.left=0;
setTimeout("ns6scroll()",spause);}
else if(parseInt(ns6div.style.left)>=sizeup*-1)
{ns6div.style.left=parseInt(ns6div.style.left)-sspeed;
setTimeout("ns6scroll()",100);}
else if(ii==singletext.length-1)
{ii=0;}
else
{ii++;
ns6div.style.left=swidth;
ns6div.innerHTML=singletext ii ;
sizeup=ns6div.offsetWidth;
ns6scroll();}
}
Les fonctions mises en jeu sont a priori "start" et "ns6scroll".
Je précise que le lien entre la partie accueil et la page news.js se fait bien, mais il est sur une autre page.
Quelqu'un aurait-il une idée pour solutionner mon problème ?
Merci d'avance.
Afficher la suite