From 655fe4616b7df84204a2b7d11710742020de5360 Mon Sep 17 00:00:00 2001 From: Krinkle Date: Fri, 27 Jan 2012 11:15:20 +0100 Subject: [PATCH 1/3] Fix issue #260: Instead of animating from and to position 0 and (arrowWidth). Animate to and from (originalValue) to (originalValue) + (arrowWidth). Shouldn't change anything for the default theme (width === 0+width), but fixes it for themes as described in issue #260 --- js/jquery.anythingslider.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/js/jquery.anythingslider.js b/js/jquery.anythingslider.js index 045731b..65b2f22 100644 --- a/js/jquery.anythingslider.js +++ b/js/jquery.anythingslider.js @@ -355,6 +355,9 @@ base.$back.appendTo( (o.appendBackTo && $(o.appendBackTo).length) ? $(o.appendBackTo) : base.$wrapper ); base.$forward.appendTo( (o.appendForwardTo && $(o.appendForwardTo).length) ? $(o.appendForwardTo) : base.$wrapper ); + base.$backLeft = parseInt( base.$back.css( 'left' ), 10 ); + base.$forwardRight = parseInt( base.$forward.css( 'right' ), 10 ); + base.$arrowWidth = base.$forward.width(); // assuming the left & right arrows are the same width - used for toggle }; @@ -643,9 +646,9 @@ } if (o.buildArrows && o.toggleArrows) { if (!base.hovered && base.playing) { sign = 1; op = 0; } // don't animate arrows during slideshow - base.$forward.stop(true,true).delay(t1).animate({ right: sign * base.$arrowWidth, opacity: op }, o.animationTime/2); - base.$back.stop(true,true).delay(t1).animate({ left: sign * base.$arrowWidth, opacity: op }, o.animationTime/2); - } + base.$forward.stop(true,true).delay(t1).animate({ right: base.$forwardRight + ( sign ? base.$arrowWidth : 0 ), opacity: op }, o.animationTime/2); + base.$back.stop(true,true).delay(t1).animate({ left: base.$backLeft + ( sign ? base.$arrowWidth : 0 ), opacity: op }, o.animationTime/2); + } }; base.clearTimer = function(paused){ From c3665677d7ed1b2d5d11985debb71e5ea56b6d6c Mon Sep 17 00:00:00 2001 From: Krinkle Date: Fri, 27 Jan 2012 11:17:32 +0100 Subject: [PATCH 2/3] Fix whitespace --- js/jquery.anythingslider.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/jquery.anythingslider.js b/js/jquery.anythingslider.js index 65b2f22..3e09e8f 100644 --- a/js/jquery.anythingslider.js +++ b/js/jquery.anythingslider.js @@ -648,7 +648,7 @@ if (!base.hovered && base.playing) { sign = 1; op = 0; } // don't animate arrows during slideshow base.$forward.stop(true,true).delay(t1).animate({ right: base.$forwardRight + ( sign ? base.$arrowWidth : 0 ), opacity: op }, o.animationTime/2); base.$back.stop(true,true).delay(t1).animate({ left: base.$backLeft + ( sign ? base.$arrowWidth : 0 ), opacity: op }, o.animationTime/2); - } + } }; base.clearTimer = function(paused){ From 0c725d85e62c190b41a175316a75fae58d7ddee7 Mon Sep 17 00:00:00 2001 From: Krinkle Date: Fri, 27 Jan 2012 11:19:00 +0100 Subject: [PATCH 3/3] whitespace fix --- js/jquery.anythingslider.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/jquery.anythingslider.js b/js/jquery.anythingslider.js index 3e09e8f..816978b 100644 --- a/js/jquery.anythingslider.js +++ b/js/jquery.anythingslider.js @@ -646,8 +646,8 @@ } if (o.buildArrows && o.toggleArrows) { if (!base.hovered && base.playing) { sign = 1; op = 0; } // don't animate arrows during slideshow - base.$forward.stop(true,true).delay(t1).animate({ right: base.$forwardRight + ( sign ? base.$arrowWidth : 0 ), opacity: op }, o.animationTime/2); - base.$back.stop(true,true).delay(t1).animate({ left: base.$backLeft + ( sign ? base.$arrowWidth : 0 ), opacity: op }, o.animationTime/2); + base.$forward.stop(true,true).delay(t1).animate({ right: base.$forwardRight + (sign ? base.$arrowWidth : 0), opacity: op }, o.animationTime/2); + base.$back.stop(true,true).delay(t1).animate({ left: base.$backLeft + (sign ? base.$arrowWidth : 0), opacity: op }, o.animationTime/2); } };