Olá pessoal…
Estou com um probleminha que está me dando dor de cabeça…
O erro que consegui extrair do navegador é o seguinte: Constante de sequência não finalizada!
O que o ocorre é que quando meu Array atinge mais de 20 itens ele simplesmente pára de funcionar e não imprime na tela…
Segue o código, eu simplifiquei pois na realidade ele resgata os valores de um data base…
var fcontent=new Array();
fcontent[1]="texto";
fcontent[2]="texto";
fcontent[3]="texto";
fcontent[4]="texto";
//ele vai normal do 1 ao 20 e quando tem mais de 20 itens ele nao exibe nenhum, nem sequer do 1 ao 20
fcontent[21]="texto";
Continuando…
var fwidth='250px'; //set scroller width
var fheight='150px'; //set scroller height
var fadelinks=1; //should links inside scroller content also fade like text? 0 for no, 1 for yes.
///No need to edit below this line/////////////////
var ie4=document.all&&!document.getElementById;
var DOM2=document.getElementById;
var faderdelay=0;
var index=1;
/*Rafael Raposo edited function*/
//function to change content
function changecontent(){
if (index>=fcontent.length)
index=1
if (DOM2){
document.getElementById("fscroller").style.color="rgb("+startcolor[0]+", "+startcolor[1]+", "+startcolor[2]+")"
AQUI ESTÁ O ERRO… segundo o navegar IE, o erro está nessa linha abaixo:
document.getElementById("fscroller").innerHTML=begintag+fcontent[index]+closetag
if (fadelinks)
linkcolorchange(1);
colorfade(1, 15);
}
else if (ie4)
document.all.fscroller.innerHTML=begintag+fcontent[index]+closetag;
index++
}
// colorfade() partially by Marcio Galli for Netscape Communications. ////////////
// Modified by Dynamicdrive.com
function linkcolorchange(step){
var obj=document.getElementById("fscroller").getElementsByTagName("A");
if (obj.length>0){
for (i=0;i<obj.length;i++)
obj[i].style.color=getstepcolor(step);
}
}
/*Rafael Raposo edited function*/
var fadecounter;
function colorfade(step) {
if(step><=maxsteps) {
document.getElementById("fscroller").style.color=getstepcolor(step);
if (fadelinks)
linkcolorchange(step);
step++;
fadecounter=setTimeout("colorfade("+step+")",stepdelay);
}else{
clearTimeout(fadecounter);
document.getElementById("fscroller").style.color="rgb("+endcolor[0]+", "+endcolor[1]+", "+endcolor[2]+")";
setTimeout("changecontent()", delay);
}
}
/*Rafael Raposo's new function*/
function getstepcolor(step) {
var diff
var newcolor=new Array(3);
for(var i=0;i<3;i++) {
diff = (startcolor[i]-endcolor[i]);
if(diff > 0) {
newcolor[i] = startcolor[i]-(Math.round((diff/maxsteps))*step);
} else {
newcolor[i] = startcolor[i]+(Math.round((Math.abs(diff)/maxsteps))*step);
}
}
return ("rgb(" + newcolor[0] + ", " + newcolor[1] + ", " + newcolor[2] + ")");
}
if (ie4||DOM2)
document.write('<div id="fscroller" style="width:'+fwidth+';height:'+fheight+'"></div>');
if (window.addEventListener)
window.addEventListener("load", changecontent, false)
else if (window.attachEvent)
window.attachEvent("onload", changecontent)
else if (document.getElementById)
window.onload=changecontent
</script>
Aqui está o link que consta com 20 itens e funciona: http://www.vjmi.com.br/2009/noticiasTESTE.asp
E aqui está o que tem mais 20 e não funciona: http://www.vjmi.com.br/2009/noticias.asp
[size=18]
[color=red]O que poderia ser? [/color][/size]
Obrigado!