From add899d48daaec9b4df1a0fdcbdd5fc6cce0da0b Mon Sep 17 00:00:00 2001 From: Tom <tw201207@gmail.com> Date: Wed, 19 Nov 2014 12:41:29 -0500 Subject: [PATCH] Usability bug fix --- src/main/java/com/gitblit/wicket/pages/scripts/imgdiff.js | 22 ++++++++++++++++++++-- 1 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/scripts/imgdiff.js b/src/main/java/com/gitblit/wicket/pages/scripts/imgdiff.js index e993997..6157513 100644 --- a/src/main/java/com/gitblit/wicket/pages/scripts/imgdiff.js +++ b/src/main/java/com/gitblit/wicket/pages/scripts/imgdiff.js @@ -167,9 +167,27 @@ overlayAccess.moveAuto(newRatio); } }); + + var autoShowing = false; $opacitySlider.on('slider:pos', function(e, data) { - if ($div.width() <= 0 && !blinking) overlayAccess.moveAuto(1.0); // Make old image visible in a nice way - $img.css('opacity', 1.0 - data.ratio); + if ($div.width() <= 0 && !blinking) { + // Make old image visible in a nice way, *then* adjust opacity + autoShowing = true; + overlayAccess.moveAuto(1.0, 500, function() { + $img.stop().animate( + {opacity: 1.0 - opacityAccess.getRatio()}, + {duration: 400, + complete: function () { + // In case the opacity handle was moved while we were trying to catch up + $img.css('opacity', 1.0 - opacityAccess.getRatio()); + autoShowing = false; + } + } + ); + }); + } else if (!autoShowing) { + $img.css('opacity', 1.0 - data.ratio); + } }); $opacitySlider.on('click', function(e) { var newRatio = (e.pageX - $opacitySlider.offset().left) / $opacitySlider.innerWidth(); -- Gitblit v1.9.1