1) Script Title: Fading Scroller
2) Script URL (on DD): http://www.dynamicdrive.com/dynamici...fadescroll.htm
3) Describe problem: This script fades through bits of text set up in an array from 0 - 5. I'd like to have the script fade through the text items randomly rather than sequentially.
Many thanks in advance to anyone who can help with this.
For your reference, here's the script as I'm using it:
Code:/*********************************************** * Fading Scroller- © Dynamic Drive DHTML code library (www.dynamicdrive.com) * This notice MUST stay intact for legal use * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code ***********************************************/ var delay=8000; //set delay between message change (in miliseconds) var maxsteps=30; // number of steps to take to change from start color to endcolor var stepdelay=40; // time in miliseconds of a single step //**Note: maxsteps*stepdelay will be total time in miliseconds of fading effect var startcolor=new Array(255,255,255); // start color (red, green, blue) var endcolor=new Array(0,0,0); // end color (red, green, blue) var fcontent=new Array(); begintag='<p>'; //set opening tag, such as font declarations fcontent[0]="\"We must be the change we wish to see.\" -Mahatma Ghandi"; fcontent[1]="\"Direct action is the lifeblood of organizing; that is where people learned and find dignity, and that is where victories are won.\" -Shel Trapp"; fcontent[2]="\"Make no little plans, they have no magic to stir men's blood.\" -Daniel Burnham"; fcontent[3]="\"No man is worth his salt who is not ready at all times to risk his body, to risk his well-being, to risk his life, in a great cause.\" -Dr. Martin Luther King, Jr."; fcontent[4]="\"If one part suffers, every part suffers with it; If one part is honored, every part rejoices with it.\" -I Corinthians 12:26"; fcontent[5]="\"We are caught in an inescapable network of mutuality; tied in a single garment of destiny. Whatever affects one directly, affects all indirectly.\" -Dr. Martin Luther King, Jr."; closetag='</p>'; var fwidth='934px'; //set scroller width var fheight='40px'; //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=0; /*Rafael Raposo edited function*/ //function to change content 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++ } // 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="border:none:'+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



Reply With Quote


Bookmarks