Rotates a series of images on the page every few seconds. The images can easily be changed, and the script can be modified to rotate the images randomly or in order.
Alter the code to point to your images/folder, then copy the code in to a Script block
you can add/remove more images by add more lines of this code...
image_list[image_index++] = new
imageItem("http://www.yoursite.com/path-to-img/your-img.jpg");
I have added More instructions in code, between these <!-- here -->
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Robert Bui (astrogate@hotmail.com) -->
<!-- Web Site: http://astrogate.virtualave.net -->
<!-- Begin
var interval = 2.5; // delay between rotating images (in seconds)
var random_display = 1; // 0 = no, 1 = yes
interval *= 1000;
var image_index = 0;
image_list = new Array();
<!-- Alter each of these to point to your image -->
image_list[image_index++] = new
imageItem("http://www.yoursite.com/img/img1.jpg");
image_list[image_index++] = new imageItem("http://www.yoursite.com/img/img2.jpg");
image_list[image_index++] = new imageItem("http://www.yoursite.com/img/img3.jpg");
image_list[image_index++] = new imageItem("http://www.yoursite.com/img/img4.jpg");
<!-- You can add your images to this list -->
<!-- By copying the code and making a new line -->
var number_of_image = image_list.length;
function imageItem(image_location) {
this.image_item = new Image();
this.image_item.src = image_location;
}
function get_ImageItemLocation(imageObj) {
return(imageObj.image_item.src)
}
function generate(x, y) {
var range = y - x + 1;
return Math.floor(Math.random() * range) + x;
}
function getNextImage() {
if (random_display) {
image_index = generate(0, number_of_image-1);
}
else {
image_index = (image_index+1) % number_of_image;
}
var new_image = get_ImageItemLocation(image_list[image_index]);
return(new_image);
}
function rotateImage(place) {
var new_image = getNextImage();
document[place].src = new_image;
var recur_call = "rotateImage('"+place+"')";
setTimeout(recur_call, interval);
}
// End -->
</script>
<BODY OnLoad="rotateImage('rImage')">
<!-- This must be the first image on your list! -->
<center>
<img name="rImage" src="http://www.yoursite.com/img/img1.jpg" width=120 height=90><!-- this is the size that your images will be displayed -->
</center>
There's a big difference between Java and Javascript. You should probably specify that in your title Les.
Thanks for sharing bud. I like these types of things.
Thanks IchBin I have changed it ;) also the demo block was set not to show to guests, :idiot2: I have changed it now :)
Very cool, thanks! :up:
Yes, it looks great. Nice work, and thanks for sharing! :)
How can i make the images into links?
link'em e z
Quote from: IchBinâ„¢ on March 23, 2007, 05:48:39 PM
There's a big difference between Java and Javascript. You should probably specify that in your title Les.
Thanks for sharing bud. I like these types of things.
Exactly Boss,
Java and Applets I don't like)) -- javaScript and code I do like, it can do some amazing stuff.
Not Acceptable
An appropriate representation of the requested resource /gameon/forum/index.php could not be found on this server.
This message is show when i try to make the scriptbox.
Soembody know what is?
See ya!
Thanks!
Is there perhaps a way turn the images into links, as someone had suggested a little earlier?
I dont think that it can be done with this particular code, unless someone knows a way how, unfortunately I am sorry I dont how :(
But I have seen this JAVASCRIPT code which may be adapted :)
Scrolling link script.
<style type="text/css">
/*Example CSS for the two demo scrollers*/
#pscroller1{
width: 140px;
height: 80px;
border: 1px solid black;
padding: 5px;
}
.someclass{ //class to apply to your scroller(s) if desired
}
</style>
<script type="text/javascript">
/*Example message arrays for the two demo scrollers*/
var pausecontent=new Array()
pausecontent[0]='<p align="center"><a href="http://url to where the banner will take you/" target="_blank"><img border="0" src="http://url to where the image is." /></a></p>'
pausecontent[1]='<p align="center"><a href="http://url to where the banner will take you" target="_blank"><img border="0" src="http://url to where the banner is" /></a></p>'
pausecontent[2]='<p align="center"><a href="http://url to where the banner will take you" target="_blank"><img border="0" src="http://url to where the banner is" /></a></p>'
pausecontent[3]='<p align="center"><a href="http://url to where the banner will take you" target="_blank"><img border="0" src="http://url to where the banner is" /></a></p>'
pausecontent[4]='<p align="center"><a href="http://url to where the banner will take you/" target="_blank"><img border="0" src="http://url to where the banner is." /></a></p>'
pausecontent[5]='<p align="center"><a href="url to where the banner will take you/" target="_blank"><img border="0" src="http://url to where the banner is" /></a></p>'
pausecontent[6]='<p align="center"><a href="http://url to where the banner will take you" target="_blank"><img border="0" src="http://url to where the banner is" /></a></p>'
pausecontent[7]='<p align="center"><a href="http:// url to where the banner will take you" target="_blank"><img border="0" src="http://url to where the banner is" /></a></p>'
pausecontent[8]='<p align="center"><a href="http://url to where the banner will take you" target="_blank"><img border="0" src="http://url to where the banner is." /></a></p>'
</script>
<script type="text/javascript">
/***********************************************
* Pausing up-down scroller- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/
function pausescroller(content, divId, divClass, delay){
this.content=content //message array content
this.tickerid=divId //ID of ticker div to display information
this.delay=delay //Delay between msg change, in miliseconds.
this.mouseoverBol=0 //Boolean to indicate whether mouse is currently over scroller (and pause it if it is)
this.hiddendivpointer=1 //index of message array for hidden div
document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden"><div class="innerDiv" style="position: absolute; width: 100%" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" style="position: absolute; width: 100%; visibility: hidden" id="'+divId+'2">'+content[1]+'</div></div>')
var scrollerinstance=this
if (window.addEventListener) //run onload in DOM2 browsers
window.addEventListener("load", function(){scrollerinstance.initialize()}, false)
else if (window.attachEvent) //run onload in IE5.5+
window.attachEvent("onload", function(){scrollerinstance.initialize()})
else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec
setTimeout(function(){scrollerinstance.initialize()}, 500)
}
// -------------------------------------------------------------------
// initialize()- Initialize scroller method.
// -Get div objects, set initial positions, start up down animation
// -------------------------------------------------------------------
pausescroller.prototype.initialize=function(){
this.tickerdiv=document.getElementById(this.tickerid)
this.visiblediv=document.getElementById(this.tickerid+"1")
this.hiddendiv=document.getElementById(this.tickerid+"2")
this.visibledivtop=parseInt(pausescroller.getCSSpadding(this.tickerdiv))
//set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2)
this.visiblediv.style.width=this.hiddendiv.style.width=this.tickerdiv.offsetWidth-(this.visibledivtop*2)+"px"
this.getinline(this.visiblediv, this.hiddendiv)
this.hiddendiv.style.visibility="visible"
var scrollerinstance=this
document.getElementById(this.tickerid).onmouseover=function(){scrollerinstance.mouseoverBol=1}
document.getElementById(this.tickerid).onmouseout=function(){scrollerinstance.mouseoverBol=0}
if (window.attachEvent) //Clean up loose references in IE
window.attachEvent("onunload", function(){scrollerinstance.tickerdiv.onmouseover=scrollerinstance.tickerdiv.onmouseout=null})
setTimeout(function(){scrollerinstance.animateup()}, this.delay)
}
// -------------------------------------------------------------------
// animateup()- Move the two inner divs of the scroller up and in sync
// -------------------------------------------------------------------
pausescroller.prototype.animateup=function(){
var scrollerinstance=this
if (parseInt(this.hiddendiv.style.top)>(this.visibledivtop+5)){
this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-5+"px"
this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-5+"px"
setTimeout(function(){scrollerinstance.animateup()}, 50)
}
else{
this.getinline(this.hiddendiv, this.visiblediv)
this.swapdivs()
setTimeout(function(){scrollerinstance.setmessage()}, this.delay)
}
}
// -------------------------------------------------------------------
// swapdivs()- Swap between which is the visible and which is the hidden div
// -------------------------------------------------------------------
pausescroller.prototype.swapdivs=function(){
var tempcontainer=this.visiblediv
this.visiblediv=this.hiddendiv
this.hiddendiv=tempcontainer
}
pausescroller.prototype.getinline=function(div1, div2){
div1.style.top=this.visibledivtop+"px"
div2.style.top=Math.max(div1.parentNode.offsetHeight, div1.offsetHeight)+"px"
}
// -------------------------------------------------------------------
// setmessage()- Populate the hidden div with the next message before it's visible
// -------------------------------------------------------------------
pausescroller.prototype.setmessage=function(){
var scrollerinstance=this
if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it)
setTimeout(function(){scrollerinstance.setmessage()}, 100)
else{
var i=this.hiddendivpointer
var ceiling=this.content.length
this.hiddendivpointer=(i+1>ceiling-1)? 0 : i+1
this.hiddendiv.innerHTML=this.content[this.hiddendivpointer]
this.animateup()
}
}
pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any
if (tickerobj.currentStyle)
return tickerobj.currentStyle["paddingTop"]
else if (window.getComputedStyle) //if DOM2
return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top")
else
return 0
}
</script>
<script type="text/javascript">
//new pausescroller(name_of_message_array, CSS_ID, CSS_classname, pause_in_miliseconds)
new pausescroller(pausecontent, "pscroller1", "someclass", 3000)
document.write("<br />")
new pausescroller(pausecontent2, "pscroller2", "someclass", 2000)
</script>
i'd like to rotate before and after images... is there any way to keep the image rotation random, but keep each pair of images in the correct before/after sequence? essentially a random 'pair rotation'.