← Javascript

Banner

Lida 1876 vezes

Offline

codigo_2 
Membro
Mensagens 6 Gostos 0
Troféus totais: 15
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 First Post Karma Seventh year Anniversary Sixth year Anniversary

Bem, eu estou com uma dúvida sobre o seguinte código:
Código: [Seleccione]
<script language="javascript">

var delay = 5000;
var maxsteps=30;
var stepdelay=40;
 
var startcolor= new Array(255,255,255);
var endcolor=new Array(97,129,157);
var fcontent=new Array();
 
begintag='<div style="font: normal 12px Arial; padding: 0px;">';
 
fcontent[0]= "";
fcontent[1]= "";
closetag='</div>';
 
var fwidth='150px';
var fheight='90px';

var fadelinks=1;
 

var ie4=document.all&&!document.getElementById;
var DOM2=document.getElementById;
var faderdelay=0;
var index=0;
 

function changecontent(){
 
  if (index>=fcontent.length)
index=0
if (DOM2){
    document.getElementById("fscroller").style.color="rgb("+startcolor[0]+", "+startcolor[1]+", "+startcolor[2]+")"
    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++
}
 
  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);
  }
 
}
 
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);
    }   
   }
   
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>

Eu queria saber como faço para em vez de o banner mostrar o conteudo por ordem numérica, fazer de modo aleatório.
Offline

mapb_1990 
Membro
Mensagens 109 Gostos 0
Feedback +2

Troféus totais: 26
Trófeus: (Ver todos)
Level 5 Tenth year Anniversary Windows User Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2

substitui a função changecontent para:


Código: [Seleccione]
function changecontent(){
index = Math.floor(Math.random() * fcontent.length);
if (DOM2){
document.getElementById("fscroller").style.color="rgb("+startcolor[0]+", "+startcolor[1]+", "+startcolor[2]+")";
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;
}

PS: o codigo que mostras-te está com mts erros de sintaxe. faltam mts ";"
PS2: http://www.miguelborges.com/2011/02/12/imagens-aleatorias/