]> www.average.org Git - mkgallery.git/blobdiff - include/show.js
make manual prev/next reset autopolay timer
[mkgallery.git] / include / show.js
index b5b00da7e39893b2b9df7b3fb32abf97c25f6bda..806d3c12604c11fe18a5d833a6d06b29b8e73c18 100644 (file)
@@ -72,10 +72,11 @@ var Show = new Class({
 
                this.updatecoords();
                this.prevdisplay = new Element('img').
+                       set('class', 'mainformat').
+                       setProperty('alt', 'Current Image').
                        setStyle('opacity', 0).
                        injectInside(this.container.container);
-               this.ondisplay = new Element('img').
-                       setStyle('opacity', 0).
+               this.ondisplay = this.prevdisplay.clone().
                        injectInside(this.container.container);
                this.loadingdiv = new Element('div').
                addClass('loading').setStyles({
@@ -103,6 +104,8 @@ var Show = new Class({
        /* prev, play, stop, next, exit, comm are methods for button presses */
 
        prev: function(){
+               this.cleartimer();
+               this.stopfx();
                if (this.currentid > 0) {
                        this.show(this.currentid-1);
                } else {
@@ -111,9 +114,8 @@ var Show = new Class({
        },
 
        stop: function(){
-               if (this.isplaying) { $clear(this.timer); }
+               this.cleartimer()
                this.isplaying = false;
-               $clear(this.timer);
                this.controls.running(0);
        },
 
@@ -129,6 +131,8 @@ var Show = new Class({
        },
 
        next: function(){
+               this.cleartimer();
+               this.stopfx();
                if (this.currentid < this.vimgs.length-1) {
                        this.show(this.currentid+1);
                } else {
@@ -137,12 +141,12 @@ var Show = new Class({
        },
 
        exit: function(){
-               if (this.isplaying) { $clear(this.timer); }
+               this.cleartimer();
+               this.stopfx();
                this.prevdisplay.setStyle('display', 'none');
                this.ondisplay.setStyle('display', 'none');
-               this.stopfx();
-               this.options.cbExit();
                document.location.href = this.baseurl;
+               this.options.cbExit();
        },
 
        comm: function(){
@@ -311,6 +315,10 @@ var Show = new Class({
                this.loadingdiv.setStyle('display', 'none');
        },
 
+       cleartimer: function(){
+               if (this.isplaying) { $clear(this.timer); }
+       },
+
        stopfx: function(){
                if (this.fx) this.fx.cancel();
        },