Tom
2014-11-14 feefe7a2febab2e9fecc44b170ae900215816f7c
Minor corrections in Javascript

1. Stop running animation before starting a new one.
2. Fix ratio in animation
3. Fix div width

None of these change have any visible effect in the current use of
this script. (1) is just being safe, in (2) , the wrongly calculated
value was never used,and in (3), the div was a little too wide before.
1 files modified
13 ■■■■ changed files
src/main/java/com/gitblit/wicket/pages/scripts/imgdiff.js 13 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/scripts/imgdiff.js
@@ -78,10 +78,10 @@
        } else {
            var target = ratio * ($elem.width() - $handle.width());
            if (ratio > lastRatio) target--; else target++;
            $handle.animate({left: target},
            $handle.stop().animate({left: target},
                { 'duration' : duration,
                  'step' : function() {
                        lastRatio = Math.min(1.0, Math.max(0, $handle.offset().left / ($elem.width() - $handle.width())));
                        lastRatio = Math.min(1.0, Math.max(0, $handle.position().left / ($elem.width() - $handle.width())));
                        $elem.trigger('slider:pos', { ratio : lastRatio, handle : $handle[0] });
                    },
                  'complete' : function() { setTo(ratio); } // Last step gives us a % value again.
@@ -126,13 +126,14 @@
        $overlaySlider.on('slider:pos', function(e, data) {
            var pos = $(data.handle).offset().left;
            var imgLeft = $img.offset().left; // Global
            var imgW = $img.width() + $img.position().left; // From left edge of $div
            var imgW = $img.outerWidth();
            var imgOff = $img.position().left; // From left edge of $div
            if (pos <= imgLeft) {
                $div.width(0);
            } else if (pos <= imgLeft + imgW) {
                $div.width(pos - imgLeft);
            } else if ($div.width() < imgW) {
                $div.width(imgW);
                $div.width(pos - imgLeft + imgOff);
            } else if ($div.width() < imgW + imgOff) {
                $div.width(imgW + imgOff);
            }
        });
        $opacitySlider.on('slider:pos', function(e, data) {