![]() |
Demo #1: Auto rotation enabled (every 3 seconds, 1 panel each time), left/right nav buttons enabled, persistence enabled.
![]() ![]() ![]() ![]() ![]() Showing panels to Demo #2: Wrap around disabled, left/right nav buttons enabled.
Demo #3: Variable content widths, left/right nav buttons disabled, moves 2 panels at a time.
1
2
3
4
5
6
7
Step 1: Add the following script to the <head> section of your page: The code above references two external .js files, which you need to download below (right click/ select "Save As"):
Step 2: Add the following HTML to the <BODY> of your page, which corresponds to the HTML for the first demo you see above: That's it for installation, but this script is only as good as your understanding of it, so time for some documentation. Basic Set Up InformationThe HTML for a Step Carousel viewer follows a set structure consisting of 3 levels of nested DIVs- the main "carousel" DIV, an inner "belt" DIV, finally followed by "panel" DIVs that each hold some actual content:
All the IDs and class names (in red above) can be arbitrary in their values, but must be defined for the script to know what's what. Each piece of content you wish to show would then be wrapped around its own "panel" DIV (in yellow), whether it's just an image, or rich HTML etc. Moving on, we come to the sample HTML for the buttons/ links used to navigate a Step Carousel Viewer. Sample HTML for Carousel Viewer navigation: <p class="samplebuttons"> Simply call the two methods Last but certainly not least, the initialization script and CSS in the HEAD of your page is what will transform the HTML into a Step Carousel Viewer:
For the invocation code on your left, notice the first 3
parameters and their values in red, which should match up with the CSS class
names you assigned to the DIVs in the HTML. The code supports other
parameters, which we'll cover in detail later. On to the CSS code on your
right, the 3 levels of DIVs- "carousel",
"belt", and "panel" DIVs can be styled however you
wish, but take note of the sideline comments on which ones should be
left alone or treated with care. In particular, the " width: 250px; /*Width of each panel holding each content. If removed, widths
should be individually defined on each content DIV then. */ This property sets the width of each "panel" DIV (the ones in yellow visually above), and is required in the sense that the script needs to know in advanced the width of each panel. In the simplistic scenerio where all your panels can be the same width, you'd simply set the above property to the desired value and that's that. However, in the more common scenerio where your panels should be of differing widths, there's another way to set their widths that's flexible. See "Two ways to set panel widths" for more information. Available
|
Parameter | Description |
---|---|
galleryid: "galleryid" Required |
Set this parameter to the ID attribute value of the outermost Carousel DIV. |
beltclass: "belt_div_class" Required |
Set this parameter to the CSS class of the main inner DIV that contains all the "panel" DIVs. |
panelclass: "panel_divs_class" Required |
Set this parameter to the shared CSS class of each
"panel" DIV within the Carousel, which contains the actual contents. Each panel DIV must have a width defined, either via global CSS or inline CSS, in order for the script to work properly! See "Two ways to set panel widths" for more information. |
autostep: {enable:true, moveby:1, pause:3000} v1.6 parameter |
Set this parameter to auto rotate the panels, specifying
the number of panels to move each time, and pause between rotating. Note
that during auto rotation, moving the mouse over the Carousel or the
default buttons (if enabled) pauses it, while moving your mouse out
resumes it again. Clicking on the Carousel stops auto rotation
altogether. This parameter has 3 properties:
Note that if |
panelbehavior: {speed:300, wraparound:false,
persist:true} Required |
This parameter has 3 properties:
|
defaultbuttons: {enable: true, moveby: 1, leftnav:
['arrowl.gif', -10, 100], rightnav: ['arrowr.gif', -10, 100]} Required |
This parameter lets you enable/ disable two navigational
images that are auto positioned to the left and right of the Carousel
Viewer. You can further tweak each image's offsets from its default
position. This parameter has 4 properties:
|
statusvars: ["var1", "var2", "var3"] |
Optional parameter that lets you define 3 arbitrary but
unique variable names to be used to store the currently shown
panel (starting), currently shown panel (final), and finally, the total
number of panels in this Carousel. With the 3 variable names defined, you can also add 3 HTML elements on your page with the same 3 ID values that the script will use to show this information to your visitors. See "Status Variables- "status1", "status2", and "status3" for full details. |
contenttype: [contenttype, [filepath]] |
Optional parameter that lets you specify where your
"panel" DIVs and the actual contents are located.. Defaults to "inline "
which means they exist physically on the page (nested inside the main
"Carousel" and "belt" DIVs.You can move all the panel DIVs to an
external file, and use Ajax to dynamically fetch them instead. In this
case, set the 1st parameter to " contenttype: ["ajax", "somefile.htm"] When specifying an external content source, you can now empty all the panel DIVs on your page itself, and move that to the external file: <div id="mygallery" class="stepcarousel"> somefile.htm should now contain: <div class="panel"> |
oninit:function(){ |
Optional event handler that fires once as soon as
a Carousel has finished initializing and is ready for user interaction.
You can use this to run tasks that depend on the Carousel having
finished loading:
oninit:function(){ |
onslide:function(){ |
Optional event handler that fires
whenever the Carousel slides and completes going to a panel (such as
after calling stepTo() and stepBy() ). It's
also fired 1 time when the Carousel has finished loading(similar to
oninit() ). Typically used in combination with the status
variables (assuming you've defined them) to access the index number of
the currently shown panels in your own scripts. For example, the below
example uses the onslide() event handler plus the status
variables to show in the browser's status bar which panels are currently
being shown:statusvars: ["startA", "startB",
"total"], |
onpanelclick:function(target){ |
Optional event handler that fires whenever user clicks on one of the panels. A
target parameter that
contains the currently clicked on element (not necessarily the panel
itself!) is automatically passed to your code. Using it, for example,
you can easily have images within the Carousel pop up again in a new
window when clicked on:
onpanelclick:function(target){
See "oninit(), onslide() and onpanelclick() event handlers" for full details. |
Remember, all but the first 3 parameters above are optional depending on what features you need to use.
We haven't talked yet about how to add links on your page to navigate the panels within a Carousel Viewer. This is done by calling two public methods of the script:
Public Method | Description |
---|---|
stepcarousel.stepBy('galleryid', steps) |
Increments a Carousel Viewer by x number of panels when
invoked. The first parameter should be the ID of the Carousel Viewer
itself, while the second an integer (1 or greater) indicating the number
of panels you wish to step by. For example: <a
href="javascript:stepcarousel.stepBy('mygallery', 1)">Forward 1
panel</a>
|
stepcarousel.stepTo('galleryid', index) |
Moves to a specific panel within a Carousel Viewer (count
starts at 1). The first parameter should be the ID of the Carousel
Viewer itself, while the second an integer (1 or greater) specifying the
panel number to move to: <a
href="javascript:stepcarousel.stepTo('mygallery', 1)">Move to very first
panel</a>
|
This script consists of an index page plus 4 supplementary pages: