Results 1 to 3 of 3

Thread: 'Randomise' Presentational Slideshow Script

  1. #1
    Join Date
    Feb 2008
    Posts
    13
    Thanks
    5
    Thanked 0 Times in 0 Posts

    Default 'Randomise' Presentational Slideshow Script

    1) Script Title: Presentational Slideshow Script

    2) Script URL (on DD): http://www.dynamicdrive.com/dynamici...m#.UkCL8YasjAk

    3) Describe problem: Not a problem as it all works great, i'm just wondering if the script could be altered so it changes the order the pictures are shown

    Thanks

  2. #2
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    28,920
    Thanks
    43
    Thanked 3,187 Times in 3,151 Posts
    Blog Entries
    12

    Default

    This will shuffle the images each time the page is loaded. It keeps the links (if any) associated with the same images.

    Just remember, random means random, so you will get the same or similar results sometimes. If the sample size is small (only a few images), a lot of the time.

    Code:
    <script type="text/javascript">
    
    //Presentational Slideshow Script- By Dynamic Drive
    //For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
    //This credit MUST stay intact for legal use
    
    var slideshow_width='100px' //SET SLIDESHOW WIDTH (set to largest image's width if multiple dimensions exist)
    var slideshow_height='100px' //SET SLIDESHOW HEIGHT (set to largest image's height if multiple dimensions exist)
    var pause=3000 //SET PAUSE BETWEEN SLIDE (2000=2 seconds)
    var slidebgcolor="white"
    
    var dropimages=new Array()
    //SET IMAGE PATHS. Extend or contract array as needed
    dropimages[0]="image1.gif"
    dropimages[1]="image2.gif"
    dropimages[2]="image3.gif"
    
    var droplinks=new Array()
    //SET IMAGE URLs. Use "" if you wish particular image to NOT be linked:
    droplinks[0]="http://www.yahoo.com"
    droplinks[1]=""
    droplinks[2]="http://www.google.com"
    
    
    ////NO need to edit beyond here/////////////
    
    var combined = [], i = dropimages.length;
    while(--i > -1){
    	combined[i] = [dropimages[i], droplinks[i]];
    }
    combined.sort(function(){return 0.5 - Math.random();});
    i = dropimages.length;
    while(--i > -1){
    	dropimages[i] = combined[i][0];
    	droplinks[i] = combined[i][1];
    }
    
    var preloadedimages=new Array()
    for (p=0;p<dropimages.length;p++){
    preloadedimages[p]=new Image()
    preloadedimages[p].src=dropimages[p]
    }
    
    var ie4=document.all
    var dom=document.getElementById
    
    if (ie4||dom)
    document.write('<div style="position:relative;width:'+slideshow_width+';height:'+slideshow_height+';overflow:hidden"><div id="canvas0" style="position:absolute;width:'+slideshow_width+';height:'+slideshow_height+';background-color:'+slidebgcolor+';left:-'+slideshow_width+'"></div><div id="canvas1" style="position:absolute;width:'+slideshow_width+';height:'+slideshow_height+';background-color:'+slidebgcolor+';left:-'+slideshow_width+'"></div></div>')
    else
    document.write('<a href="javascript:rotatelink()"><img name="defaultslide" src="'+dropimages[0]+'" border=0></a>')
    
    var curpos=parseInt(slideshow_width)*(-1)
    var degree=10
    var curcanvas="canvas0"
    var curimageindex=linkindex=0
    var nextimageindex=1
    
    
    function movepic(){
    if (curpos<0){
    curpos=Math.min(curpos+degree,0)
    tempobj.style.left=curpos+"px"
    }
    else{
    
    clearInterval(dropslide)
    nextcanvas=(curcanvas=="canvas0")? "canvas0" : "canvas1"
    tempobj=ie4? eval("document.all."+nextcanvas) : document.getElementById(nextcanvas)
    var slideimage='<img src="'+dropimages[curimageindex]+'" border=0>'
    tempobj.innerHTML=(droplinks[curimageindex]!="")? '<a href="'+droplinks[curimageindex]+'">'+slideimage+'</a>' : slideimage
    nextimageindex=(nextimageindex<dropimages.length-1)? nextimageindex+1 : 0
    setTimeout("rotateimage()",pause)
    }
    }
    
    function rotateimage(){
    if (ie4||dom){
    resetit(curcanvas)
    var crossobj=tempobj=ie4? eval("document.all."+curcanvas) : document.getElementById(curcanvas)
    crossobj.style.zIndex++
    var temp='setInterval("movepic()",50)'
    dropslide=eval(temp)
    curcanvas=(curcanvas=="canvas0")? "canvas1" : "canvas0"
    }
    else
    document.images.defaultslide.src=dropimages[curimageindex]
    linkindex=curimageindex
    curimageindex=(curimageindex<dropimages.length-1)? curimageindex+1 : 0
    }
    
    function rotatelink(){
    if (droplinks[linkindex]!="")
    window.location=droplinks[linkindex]
    }
    
    function resetit(what){
    curpos=parseInt(slideshow_width)*(-1)
    var crossobj=ie4? eval("document.all."+what) : document.getElementById(what)
    crossobj.style.left=curpos+"px"
    }
    
    function startit(){
    var crossobj=ie4? eval("document.all."+curcanvas) : document.getElementById(curcanvas)
    crossobj.innerHTML='<a href="'+droplinks[curimageindex]+'"><img src="'+dropimages[curimageindex]+'" border=0></a>'
    rotateimage()
    }
    
    if (ie4||dom)
    window.onload=startit
    else
    setInterval("rotateimage()",pause)
    
    </script>
    - John
    ________________________

    Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate

  3. The Following User Says Thank You to jscheuer1 For This Useful Post:

    ripthorn (09-23-2013)

  4. #3
    Join Date
    Feb 2008
    Posts
    13
    Thanks
    5
    Thanked 0 Times in 0 Posts

    Default

    Thats perfect and really fast response !! cheers John really appreciate that

Similar Threads

  1. Presentational Slideshow Script problem
    By jellis in forum Dynamic Drive scripts help
    Replies: 0
    Last Post: 09-18-2009, 12:03 AM
  2. Resolved How to centre the Presentational Slideshow Script
    By elim in forum Dynamic Drive scripts help
    Replies: 6
    Last Post: 05-02-2009, 05:01 PM
  3. Presentational Slideshow Script
    By neilkw in forum Dynamic Drive scripts help
    Replies: 2
    Last Post: 10-03-2008, 08:28 AM
  4. Presentational Slideshow Script
    By sandyk3 in forum Dynamic Drive scripts help
    Replies: 1
    Last Post: 05-30-2008, 05:08 AM
  5. Presentational Slideshow Script
    By ludwig in forum Dynamic Drive scripts help
    Replies: 3
    Last Post: 02-14-2005, 02:27 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •