Does anyone have a way of making the messages in Slide-in Scroller appear in random order, please?
Thanks!
Does anyone have a way of making the messages in Slide-in Scroller appear in random order, please?
Thanks!
Last edited by scriptseeker; 12-03-2009 at 07:49 PM.
Code:<script language="JavaScript1.2"> var inc=1 var ns4=document.layers var ie5ns6=document.getElementById||document.all if (ie5ns6) document.write(openingtag+'<div id="flyin" style="position:relative;width:'+scrollwidth+';height:'+scrollheight+';">'+message[0]+'</div>'+closingtag) function updatemsg(){ crossobj.style.left="-2000px" crossobj.style.fontStyle="italic" crossobj.innerHTML=message[Math.floor(Math.random()*message.length)]; crossobj.style.left=crossobj.offsetWidth*(-1)+hoffset+"px" start=setInterval("animatein()",50) inc=(inc<message.length-1)? inc+1 : 0 } function animatein(){ if (parseInt(crossobj.style.left)<0) crossobj.style.left=parseInt(crossobj.style.left)+20+"px" else{ crossobj.style.left=0+"px" crossobj.style.fontStyle="normal" clearInterval(start) } } function updatemsgns4(){ document.sslide.document.sslide2.document.write(openingtag+message[inc]+closingtag) document.sslide.document.sslide2.document.close() inc=(inc<message.length-1)? inc+1 : 0 } function initialize(){ if (ie5ns6){ crossobj=document.getElementById? document.getElementById("flyin") : document.all.flyin setInterval("updatemsg()",delay+1000) } else if (ns4){ document.sslide.document.sslide2.document.write(openingtag+message[0]+closingtag) document.sslide.document.sslide2.document.close() setInterval("updatemsgns4()",delay) } } window.onload=initialize </script>
Vic
God Loves You and will never love you less.
http://www.vicsjavascripts.org/Home.htm
If my post has been useful please donate to http://www.operationsmile.org.uk/
Vic,
Thanks so much!
Really appreciate it; I didn't think it could be so simple.
... and if I wanted to make the sequence always start with a different quote?
crossobj.innerHTML=message[Math.floor(Math.random()*message.length)];
Hi guys,
I want to get the scroller to start from the right side but not all the way to the left. I want the same effect as the original settings/example but to scroll from the right.
Is this possible?
Thanks.
Code:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title></title> <style type="text/css"> /*<![CDATA[*/ .box { position:absolute;overflow:hidden;width:200px;height:100px;border:solid black 1px; } /*]]>*/ </style> <script type="text/javascript"> // Animate (11-January-2010) // by Vic Phillips http://www.vicsjavascripts.org.uk // To progressively change the Left, Top, Width, Height or Opacity of an element over a specified period of time. // With the ability to scale the effect time on specified minimum/maximum values // and with three types of progression 'sin' and 'cos' and liner. // **** Application Notes // **** The HTML Code // // when moving an element the inline or class rule style position of the element should be assigned as // 'position:relative;' or 'position:absolute;' // // The element would normally be assigned a unique ID name. // // **** Initialising the Script. // // The script is initialised by assigning an instance of the script to a variable. // e.g A = new zxcAnimate('left','id1') // where: // A = a global variable (variable) // parameter 0 = the mode(see Note 1). (string) // parameter 1 = the unique ID name or element object. (string or element object) // parameter 1 = the initial value. (digits, default = 0) // **** Executing the Effect // // The effect is executed by an event call to function 'A.animate(10,800 ,5000,[10,800]);' // where: // A = the global referencing the script instance. (variable) // parameter 0 = the start value. (digits, for opacity minimum 0, maximum 100) // parameter 1 = the finish value. (digits, for opacity minimum 0, maximum 100) // parameter 2 = period of time between the start and finish of the effect in milliseconds. (digits or defaults to previous or 0(on first call) milliSeconds) // parameter 3 = (optional) to scale the effect time on a specified minimum/maximum. (array, see Note 3) // field 0 the minimum value. (digits) // field 1 the maximum value. (digits) // parameter 3 = (optional) the type of progression, 'sin', 'cos' or 'liner'. (string, default = 'liner') // 'sin' progression starts fast and ends slow. // 'cos' progression starts slow and ends fast. // // Note 1: Examples modes: 'left', 'top', 'width', 'height', 'opacity. // Note 2: The default units(excepting opacity) are 'px'. // For hyphenated modes, the first character after the hyphen must be upper case, all others lower case. // Note 3: The scale is of particular use when re-calling the effect // in mid progression to retain an constant rate of progression. // Note 4: The current effect value is recorded in A.data[0]. // Note 5: A function may be called on completion of the effect by assigning the function // to the animator intance property .Complete. // e.g. [instance].Complete=function(){ alert(this.data[0]); }; // // **** Functional Code(1.58K) - NO NEED to Change function zxcAnimate(mde,obj,srt){ this.to=null; this.obj=typeof(obj)=='object'?obj:document.getElementById(obj); this.mde=mde.replace(/\W/g,''); this.data=[srt||0]; return this; } zxcAnimate.prototype.animate=function(srt,fin,ms,scale,c){ clearTimeout(this.to); this.time=ms||this.time||0; this.neg=srt<0||fin<0; this.data=[srt,srt,fin]; this.mS=this.time*(!scale?1:Math.abs((fin-srt)/(scale[1]-scale[0]))); this.c=typeof(c)=='string'?c.charAt(0).toLowerCase():this.c?this.c:''; this.inc=Math.PI/(2*this.mS); this.srttime=new Date().getTime(); this.cng(); } zxcAnimate.prototype.cng=function(){ var oop=this,ms=new Date().getTime()-this.srttime; this.data[0]=(this.c=='s')?(this.data[2]-this.data[1])*Math.sin(this.inc*ms)+this.data[1]:(this.c=='c')?this.data[2]-(this.data[2]-this.data[1])*Math.cos(this.inc*ms):(this.data[2]-this.data[1])/this.mS*ms+this.data[1]; this.apply(); if (ms<this.mS) this.to=setTimeout(function(){oop.cng()},10); else { this.data[0]=this.data[2]; this.apply(); if (this.Complete) this.Complete(this); } } zxcAnimate.prototype.apply=function(){ if (isFinite(this.data[0])){ if (this.data[0]<0&&!this.neg) this.data[0]=0; if (this.mde!='opacity') this.obj.style[this.mde]=Math.floor(this.data[0])+'px'; else zxcOpacity(this.obj,this.data[0]); } } function zxcOpacity(obj,opc){ if (opc<0||opc>100) return; obj.style.filter='alpha(opacity='+opc+')'; obj.style.opacity=obj.style.MozOpacity=obj.style.WebkitOpacity=obj.style.KhtmlOpacity=opc/100-.001; } </script> </head> <body> <script type="text/javascript"> /*<![CDATA[*/ function zxcMessage(o){ var box=document.createElement('DIV'); box.className=o.ClassName; if (typeof(o.Top)=='number'){ box.style.top=o.Top+'px'; } document.body.appendChild(box); this.box=[new zxcAnimate('left',box),new zxcAnimate('width',box)]; this.from=typeof(o.From)=='number'?o.From:zxcWWHS()[0]; this.too=o.To; this.messages=o.Messages; this.ms=o.Duration; this.hold=o.Hold; this.Auto(); } zxcMessage.prototype.Auto=function(){ this.box[0].animate(this.from,this.too,this.ms); this.box[1].obj.innerHTML=this.messages[Math.floor(Math.random()*this.messages.length)]; this.box[1].animate(0,this.box[1].obj.offsetWidth,this.ms); var oop=this; this.to=setTimeout(function(){ oop.Auto(); },this.hold+this.ms); } function zxcWWHS(){ if (window.innerHeight) return [window.innerWidth-10,window.innerHeight-10,window.pageXOffset,window.pageYOffset]; else if (document.documentElement.clientHeight) return [document.documentElement.clientWidth-10,document.documentElement.clientHeight-10,document.documentElement.scrollLeft,document.documentElement.scrollTop]; return [document.body.clientWidth,document.body.clientHeight,document.body.scrollLeft,document.body.scrollTop]; } new zxcMessage({ ClassName:'box', Top:200, From:'Right', To:500, Duration:1000, Hold:2000, Messages:[ 'Message 1', 'Message 2', 'Message 3' ] }); new zxcMessage({ ClassName:'box', Top:50, From:-20, To:500, Duration:500, Hold:2500, Messages:[ 'Message 1', 'Message 2', 'Message 3' ] }); /*]]>*/ </script> </body> </html>
Vic
God Loves You and will never love you less.
http://www.vicsjavascripts.org/Home.htm
If my post has been useful please donate to http://www.operationsmile.org.uk/
Hey Vic,
Thanks for the code, just what I wanted (the one that appears from right).
Now here's the problem/hard part. I'm not an expert and quite new to web design. I only want the right scroller in header. Which part of the code should I use?
Thanks.
please explainI only want the right scroller in header.
Vic
God Loves You and will never love you less.
http://www.vicsjavascripts.org/Home.htm
If my post has been useful please donate to http://www.operationsmile.org.uk/
I want to position the scroller that starts from the right side inside my header div. Also how do I change/Set the stop point? Maybe like 100px from the right (inside the header).
Code:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title></title> <style type="text/css"> /*<![CDATA[*/ #header { position:relative;top:200px;width:900px;height:200px;border:solid black 1px; } .box { position:absolute;overflow:hidden;width:200px;height:100px;border:solid black 1px; } /*]]>*/ </style> <script type="text/javascript"> // Animate (11-January-2010) // by Vic Phillips http://www.vicsjavascripts.org.uk // To progressively change the Left, Top, Width, Height or Opacity of an element over a specified period of time. // With the ability to scale the effect time on specified minimum/maximum values // and with three types of progression 'sin' and 'cos' and liner. // **** Application Notes // **** The HTML Code // // when moving an element the inline or class rule style position of the element should be assigned as // 'position:relative;' or 'position:absolute;' // // The element would normally be assigned a unique ID name. // // **** Initialising the Script. // // The script is initialised by assigning an instance of the script to a variable. // e.g A = new zxcAnimate('left','id1') // where: // A = a global variable (variable) // parameter 0 = the mode(see Note 1). (string) // parameter 1 = the unique ID name or element object. (string or element object) // parameter 1 = the initial value. (digits, default = 0) // **** Executing the Effect // // The effect is executed by an event call to function 'A.animate(10,800 ,5000,[10,800]);' // where: // A = the global referencing the script instance. (variable) // parameter 0 = the start value. (digits, for opacity minimum 0, maximum 100) // parameter 1 = the finish value. (digits, for opacity minimum 0, maximum 100) // parameter 2 = period of time between the start and finish of the effect in milliseconds. (digits or defaults to previous or 0(on first call) milliSeconds) // parameter 3 = (optional) to scale the effect time on a specified minimum/maximum. (array, see Note 3) // field 0 the minimum value. (digits) // field 1 the maximum value. (digits) // parameter 3 = (optional) the type of progression, 'sin', 'cos' or 'liner'. (string, default = 'liner') // 'sin' progression starts fast and ends slow. // 'cos' progression starts slow and ends fast. // // Note 1: Examples modes: 'left', 'top', 'width', 'height', 'opacity. // Note 2: The default units(excepting opacity) are 'px'. // For hyphenated modes, the first character after the hyphen must be upper case, all others lower case. // Note 3: The scale is of particular use when re-calling the effect // in mid progression to retain an constant rate of progression. // Note 4: The current effect value is recorded in A.data[0]. // Note 5: A function may be called on completion of the effect by assigning the function // to the animator intance property .Complete. // e.g. [instance].Complete=function(){ alert(this.data[0]); }; // // **** Functional Code(1.58K) - NO NEED to Change function zxcAnimate(mde,obj,srt){ this.to=null; this.obj=typeof(obj)=='object'?obj:document.getElementById(obj); this.mde=mde.replace(/\W/g,''); this.data=[srt||0]; return this; } zxcAnimate.prototype.animate=function(srt,fin,ms,scale,c){ clearTimeout(this.to); this.time=ms||this.time||0; this.neg=srt<0||fin<0; this.data=[srt,srt,fin]; this.mS=this.time*(!scale?1:Math.abs((fin-srt)/(scale[1]-scale[0]))); this.c=typeof(c)=='string'?c.charAt(0).toLowerCase():this.c?this.c:''; this.inc=Math.PI/(2*this.mS); this.srttime=new Date().getTime(); this.cng(); } zxcAnimate.prototype.cng=function(){ var oop=this,ms=new Date().getTime()-this.srttime; this.data[0]=(this.c=='s')?(this.data[2]-this.data[1])*Math.sin(this.inc*ms)+this.data[1]:(this.c=='c')?this.data[2]-(this.data[2]-this.data[1])*Math.cos(this.inc*ms):(this.data[2]-this.data[1])/this.mS*ms+this.data[1]; this.apply(); if (ms<this.mS) this.to=setTimeout(function(){oop.cng()},10); else { this.data[0]=this.data[2]; this.apply(); if (this.Complete) this.Complete(this); } } zxcAnimate.prototype.apply=function(){ if (isFinite(this.data[0])){ if (this.data[0]<0&&!this.neg) this.data[0]=0; if (this.mde!='opacity') this.obj.style[this.mde]=Math.floor(this.data[0])+'px'; else zxcOpacity(this.obj,this.data[0]); } } function zxcOpacity(obj,opc){ if (opc<0||opc>100) return; obj.style.filter='alpha(opacity='+opc+')'; obj.style.opacity=obj.style.MozOpacity=obj.style.WebkitOpacity=obj.style.KhtmlOpacity=opc/100-.001; } </script> </head> <body> <div id="header" >header</div> <script type="text/javascript"> /*<![CDATA[*/ function zxcMessage(o){ var box=document.createElement('DIV'); box.className=o.ClassName; if (typeof(o.Top)=='number'){ box.style.top=o.Top+'px'; } if (document.getElementById(o.ID)){ document.getElementById(o.ID).appendChild(box); } else { document.body.appendChild(box); } this.box=[new zxcAnimate('left',box),new zxcAnimate('width',box)]; this.from=typeof(o.From)=='number'?o.From:zxcWWHS()[0]; this.too=o.To; this.messages=o.Messages; this.ms=o.Duration; this.hold=o.Hold; this.Auto(); } zxcMessage.prototype.Auto=function(){ this.box[0].animate(this.from,this.too,this.ms); this.box[1].obj.innerHTML=this.messages[Math.floor(Math.random()*this.messages.length)]; this.box[1].animate(0,this.box[1].obj.offsetWidth,this.ms); var oop=this; this.to=setTimeout(function(){ oop.Auto(); },this.hold+this.ms); } function zxcWWHS(){ if (window.innerHeight) return [window.innerWidth-10,window.innerHeight-10,window.pageXOffset,window.pageYOffset]; else if (document.documentElement.clientHeight) return [document.documentElement.clientWidth-10,document.documentElement.clientHeight-10,document.documentElement.scrollLeft,document.documentElement.scrollTop]; return [document.body.clientWidth,document.body.clientHeight,document.body.scrollLeft,document.body.scrollTop]; } new zxcMessage({ ClassName:'box', Top:20, From:'Right', // start To:500, // stop Duration:1000, Hold:2000, Messages:[ 'Message 1', 'Message 2', 'Message 3' ] }); new zxcMessage({ ID:'header', ClassName:'box', Top:5, From:900, To:200, Duration:500, Hold:2500, Messages:[ 'Message 1', 'Message 2', 'Message 3' ] }); /*]]>*/ </script> </body> </html>
Vic
God Loves You and will never love you less.
http://www.vicsjavascripts.org/Home.htm
If my post has been useful please donate to http://www.operationsmile.org.uk/
Bookmarks