Alex Duffield wrote:
> I am trying to do a simple looping slide show. All images are the same
> size/aspect ratio So my set up is a div with an image in it. The div
> is set to the same size as the image.
> ...
>
> What I want to do now is loop through an array of images. When it gets
> to the end it starts all over again.
> ...
>
Sounds interesting... My approach is below. -- Ken Snyder
var SlideShow = Class.create();
SlideShow.prototype = {
// using css, set imgNodeTop and imgNodeBottom to the same position
using top and left
// then set imgNodeTop's z-index to be higher
// also pass in an array of the sources
initialize: function(imgNodeTop, imgNodeBottom, imageSources, options) {
// internally store the given values
this.imgTop = $(imgNodeTop);
this.imgBottom = $(imgNodeBottom);
this.sources = imageSources;
this.options = Object.extend({
fadeDuration: 1,
showDuration: 8,
}, options);
// set the top image to the first source
this.imgTop = this.sources[0];
this.position = 1;
this.onTop = 1;
},
start: function() {
setTimeout(this.next().bind(this), this.options.showDuration);
},
next: function() {
// set the bottom image to the next source
this.imgBottom.src = this.sources[this.position];
// fade away the top image to slowly reveal the bottom image
Effect.Fade(this.imgTop, {
duration: this.options.fadeDuration,
afterFinish: function() {
// when finished, set the top image to the last image (hopefully
it won't flicker)
this.imgTop.src = this.sources[this.position-1];
this.imgTop.show();
// start over
this.start();
}.bind(this)
});
// increment the position, wrapping if needed
this.position++;
if (this.position>this.sources.length) this.position = 0;
}
};
Then just do:
var ss = new SlideShow(...);
ss.start();
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---