How to incorporate "Next" button into this code?

Discussion in 'JavaScript' started by jjfletch, Jul 23, 2006.

  1. #1
    I got code below off the internet, and it offers much of what I want, but rather than automatically cycling through the images, I want the user to press a next button to see the next image. I don't know javascript *at all*, but I'm hoping someone here knows it well enough to show me how it's done? :p

    
    <script type="text/javascript">
    
    // Flexible Image Slideshow- By JavaScriptKit.com (http://www.javascriptkit.com)
    // For this and over 400+ free scripts, visit JavaScript Kit- http://www.javascriptkit.com/
    // This notice must stay intact for use
    
    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>
    
    Code (markup):
     
    jjfletch, Jul 23, 2006 IP
  2. ccoonen

    ccoonen Well-Known Member

    Messages:
    1,606
    Likes Received:
    71
    Best Answers:
    0
    Trophy Points:
    160
    #2
    Remove this code:
    if (ie||dom)
    window.onload=start_slider

    Remove this line of code from the function rotateimages()
    setTimeout("rotateimages()",slidedelay)

    Then add this into your HTML inside the <body>
    <a href="javascript:rotateimages()" title="Next">Next</a>

    This should work... :)
     
    ccoonen, Jul 24, 2006 IP