It appears you have not yet registered with DEVPPL. To register please click here... (it's fast, easy and free!)

Forum

Log In Sponsors
Board index Programming JavaScript Forum

Help with banner slideshow JS

Help with banner slideshow JS

Postby tonino on Wed Jul 30, 2008 11:20 am

Hi all!

I need a script that will be able to rotate (serial, random, etc) some ad banners (gif, jpg, etc. if it can do flash files as well it would be great ) while each banner should have its own "link url" and "link target" (i.e _self, _new, etc.)

I found the following (see below) script but my problem is that no matter how hard I tried, I couldn't have more than one instanses of the script working on the same site. (I renamed the script to something different and changed the DIV ID where it put the content, but it doesn't work). I am not a javascript expert at all and I would very much appreciate it if some experienced coders could help.

I basically want to have as many instances of this script running on the same webpage as I need or if that is not possible (due to script limitations) I would be very happy if someone could suggest another similar script that would allow multiple instances.

Thank you very much in advance!


--------------------------------------------


Directions: Simply add the below script to where you wish the slideshow to appear:


<script type="text/javascript">

var ultimateshow=new Array()

//ultimateshow[x]=["path to image", "OPTIONAL link for image", "OPTIONAL link target"]

ultimateshow[0]=['dinosour.gif', '', '']
ultimateshow[1]=['crow.gif', 'http://www.dynamicdrive.com', '_new']
ultimateshow[2]=['pig.gif', 'http://www.codingforums.com', '']

//configure the below 3 variables to set the dimension/background color of the slideshow

var slidewidth="300px" //set to width of LARGEST image in your slideshow
var slideheight="261px" //set to height of LARGEST iamge in your slideshow
var slidecycles="3" //number of cycles before slideshow stops (ie: "2" or "continous")
var randomorder="no" //randomize the order in which images are displayed? "yes" or "no"
var preloadimages="yes" //preload images? "yes" or "no"
var slidebgcolor='white'

//configure the below variable to determine the delay between image rotations (in miliseconds)
var slidedelay=3000

////Do not edit pass this line////////////////

var ie=document.all
var dom=document.getElementById
var curcycle=0

if (preloadimages=="yes"){
for (i=0;i<ultimateshow.length;i++){
var cacheimage=new Image()
cacheimage.src=ultimateshow[i][0]
}
}

var currentslide=0

function randomize(targetarray){
ultimateshowCopy=new Array()
var the_one
var z=0
while (z<targetarray.length){
the_one=Math.floor(Math.random()*targetarray.length)
if (targetarray[the_one]!="_selected!"){
ultimateshowCopy[z]=targetarray[the_one]
targetarray[the_one]="_selected!"
z++
}
}
}

if (randomorder=="yes")
randomize(ultimateshow)
else
ultimateshowCopy=ultimateshow

function rotateimages(){
curcycle=(currentslide==0)? curcycle+1 : curcycle
ultcontainer='<center>'
if (ultimateshowCopy[currentslide][1]!="")
ultcontainer+='<a href="'+ultimateshowCopy[currentslide][1]+'" target="'+ultimateshowCopy[currentslide][2]+'">'
ultcontainer+='<img src="'+ultimateshowCopy[currentslide][0]+'" border="0">'
if (ultimateshowCopy[currentslide][1]!="")
ultcontainer+='</a>'
ultcontainer+='</center>'
if (ie||dom)
crossrotateobj.innerHTML=ultcontainer
if (currentslide==ultimateshow.length-1) currentslide=0
else currentslide++
if (curcycle==parseInt(slidecycles) && currentslide==0)
return
setTimeout("rotateimages()",slidedelay)
}

if (ie||dom)
document.write('<div id="slidedom" style="width:'+slidewidth+';height:'+slideheight+'; background-color:'+slidebgcolor+'"></div>')

function start_slider(){
crossrotateobj=dom? document.getElementById("slidedom") : document.all.slidedom
rotateimages()
}

if (ie||dom)
window.onload=start_slider

</script>

-------------------------------------------
tonino
 
Posts: 2
Joined: Wed Jul 30, 2008 10:59 am

Postby rangana on Thu Jul 31, 2008 1:20 am

You script was taken from DD, which in the first place, violates the rule. You should always append the notice.

Anyway, Ultimate Fade Slideshow script has a new version which allow multiple instances:
http://www.dynamicdrive.com/dynamicinde ... deshow.htm

Hope that helps.
User avatar
rangana
500+ Club
 
Posts: 935
Joined: Wed Feb 27, 2008 5:14 am
Location: Cebu City Philippines

Postby tonino on Thu Jul 31, 2008 7:46 am

I am sorry about the copyright issue, but this is how I found the script on the web and I just copy-pasted it. DynamicDrive is shown in the example urls inside the script.

Thank you very much for you reply and I am gong to look into it right away! Thanks again!
tonino
 
Posts: 2
Joined: Wed Jul 30, 2008 10:59 am


Who is online

Users browsing this forum: No registered users and 10 guests