Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: Help with Step Carousel Viewer script

  1. #1
    Join Date
    Jul 2007
    Posts
    21
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Help with Step Carousel Viewer script

    Hi, I'm using DD's Step Carousel Viewer script to create a photo viewer. You can find the complete code with examples here:
    http://www.dynamicdrive.com/dynamici...epcarousel.htm

    I was going to contact the script author directly to ask him (or her) this question, but there's no email address associated with the script and he mentioned he checks the boards daily so I figured I'd post the question. Please refer to the link above to view the code for easiest reference.

    I'm using the Carousel function as a thumbnail viewer rather than for viewing the full-sized images. A user can scan through the thumbnails with either the one-by-one function or the jump-ahead function (I've set it to jump 5 ahead). Once the user finds a thumbnail they're interested in viewing they click on the image and the full-sized image is targeted to an iFrame on the page. Everything works beautifully, but because I'm using this as a thumbnail viewer I'm wondering if it's possible to add another piece of functionality whereas a user could flip through the thumbnail images one-by-one by clicking a forward button and with each click the corresponding full-sized image would also come up, which could be targeted to a div on the page or a pop-up window or an iFrame?
    The closest example of what I'm thinking of can be viewed here:
    http://www.openhomesphotography.com/235Berry/
    Click on Gallery
    It's a flash site, but it seems that the Carousel script is very close to achieving the same sort of functionality.

    I realize this is probably taking the Carousel script in a direction that it wasn't intended for, but I thought I'd ask if this is something even possible. I prefer to use DHTML over flash whenever possible.

    Thanks for your thoughts and (to the author) the great script!
    Greg

  2. #2
    Join Date
    Aug 2004
    Posts
    10,143
    Thanks
    3
    Thanked 1,008 Times in 993 Posts
    Blog Entries
    16

    Default

    You should be able to do this easily using the onslide event handler of the script (see explanation of it here). You might end up with something like:

    Code:
    stepcarousel.setup({
    galleryid: 'galleryA', //id of carousel DIV
    beltclass: 'belt', //class of inner "belt" DIV containing all the panel DIVs
    panelclass: 'panel', //class of panel DIVs each holding content
    panelbehavior: {speed:300, wraparound:false, persist:true},
    defaultbuttons: {enable: true, moveby: 1, leftnav: ['arrowl.gif', -10, 100], rightnav: ['arrowr.gif', -10, 100]},
    statusvars: ['pointA', 'pointB', 'pointC'], //register 3 variables that contain current panel (start), current panel (last), and total panels
    contenttype: ['inline'], //content setting ['inline'] or ['external', 'path_to_external_file']
    oninit:function(){
     myiframe=document.getElementById('myiframe') //reference IFRAME
    },
    onslide:function(){
     myiframe.setAttribute("src", largeimages[pointA-1])
    }
    })
    I'm not sure where you're storing the URLs to the enlarged images, so the above just assumes they are stored in a JavaScript array called largeimages[].
    DD Admin

  3. #3
    Join Date
    Jul 2007
    Posts
    21
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    thanks for the response. i went ahead and added the code, but i'm not seeing any difference. was i supposed to add something else? i was thinking there might be another link or button for advancing the slides that would also bring up a larger image.

  4. #4
    Join Date
    Aug 2004
    Posts
    10,143
    Thanks
    3
    Thanked 1,008 Times in 993 Posts
    Blog Entries
    16

    Default

    Do you have a link to the problem page? The code I posted is just a working example of what you should do, but exactly what you'd do depends on how everything is set up on your site.
    DD Admin

  5. #5
    Join Date
    Jul 2007
    Posts
    21
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    http://www.divinia.com/sequitur/hous...chalkhill.html

    the image on the page is the area where the iFrame is that Carousel is targeting.

    the "previous/next" in the upper right corner are the buttons i'd like to have flip through the images.

    i was just looking at DHTML Slide Show Script as a possible better way to do this. unfortunately i couldn't figure out how to target the iFrame using this script so i'm not sure what to do now.

    thanks for taking a look at this.

  6. #6
    Join Date
    Aug 2004
    Posts
    10,143
    Thanks
    3
    Thanked 1,008 Times in 993 Posts
    Blog Entries
    16

    Default

    Looking at your page, it seems your iframe contains a blank page that in itself contains one single image, for example: http://www.divinia.com/sequitur/houseloft/main.html Do you intend to have separate pages for each thumbnail, each containing a single enlarged image? Or are you sticking with a single main.html page, and just want to change the image within it to the enlarged version of each thumbnail?
    DD Admin

  7. #7
    Join Date
    Jul 2007
    Posts
    21
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    the second option -- one page and changing the image within that page

  8. #8
    Join Date
    Aug 2004
    Posts
    10,143
    Thanks
    3
    Thanked 1,008 Times in 993 Posts
    Blog Entries
    16

    Default

    Ok, try something like the below configuration code (replacing what you have right now on the page):

    Code:
    <script type="text/javascript">
    
    var largeimages=[]
    largeimages[0]="large1.gif"
    largeimages[1]="large2.gif"
    largeimages[2]="large3.gif"
    largeimages[3]="large4.gif"
    
    stepcarousel.setup({
    	galleryid: 'mygallery', //id of carousel DIV
    	beltclass: 'belt', //class of inner "belt" DIV containing all the panel DIVs
    	panelclass: 'panel', //class of panel DIVs each holding content
    	panelbehavior: {speed:500, wraparound:false, persist:true},
    	defaultbuttons: {enable: true, moveby: 1, leftnav: ['images/minus.gif', -30, 16], rightnav: ['images/plus.gif', 16, 16]},
    	statusvars: ['statusA', 'statusB', 'statusC'], //register 3 variables that contain current panel (start), current panel (last), and total panels
    	contenttype: ['inline'], //content setting ['inline'] or ['external', 'path_to_external_file']
    	oninit:function(){
     	myiframeimg=window.frames["main"].document.getElementsByTagName("img")[0] //reference 1st image within iframe "main" on page
    	},
    	onslide:function(){
     	myiframeimg.setAttribute("src", largeimages[statusA-1])
    	}
    
    })
    
    </script>
    This is only a proof of concept. Change the image paths referenced inside largeimages[] to working examples. Then as you step through the Carousel, the IFRAME should be dynamically populated with the enlarged image specified based on its order.
    DD Admin

  9. #9
    Join Date
    Jul 2007
    Posts
    21
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    hey it works! thanks again for your help and the script, it's the best and most flexible i've found out there for creating your own image gallery. kudos!
    also, i'd like to deepen my knowledge of javascript, any tutorials or books you'd recommend?

  10. #10
    Join Date
    Jul 2007
    Posts
    21
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    oops two problems, it's not working in Safari, any ideas? also a bigger problem is that it's not possible to continue to view larger images with the (+) sign once the carousel gets to the end (the plus sign fades). i've uploaded the page so you can see what's going on. do you think this is the right way to handle this viewer, or do you think it might be best to leave the carousel as is and use the DHTML Slide Show Script and use the "previous/next" links i have on top of the image? and can you even target an iFrame with that script?
    Last edited by geebee2008; 09-24-2008 at 03:04 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
  •