0

I have range slider which animates a graph. The problem that I have is:

The slider start at height 0 under the min-height and ends at height 100% above min-height.

What I want is for the slider to start at min-height and end at max-height. But I'm stuck on how to do this.

Below is the JS code I'm struggling with and a JSFiddle

onSlide: function(position, value){
            var $rangeSlider = $('.rangeslider');

            var fullWidth = ($rangeSlider.width() - 42) ;

            var heightOfSaving = ((position / fullWidth) * 100);
            $savingGraph.css('height',  heightOfSaving + '%');
            $($rateOnlineBedrijfsmakelaar).css('top', $savingGraph.height() + 'px');

            $output.html(value);
        }

https://jsfiddle.net/vexstrx6/

Lex Lemmens
  • 25
  • 1
  • 5

1 Answers1

0

Just change the caculation!
That is a simple math question more than a coding question...

(function( $ ) {
  'use strict';

  var $output = $('#getright-besparing-output');
  var $range = $('input[type="range"]');
  var $savingGraph = $('.graph-bar.saving');
  var $rateOnlineBedrijfsmakelaar = $('#rateOnlineBedrijfsmakelaar');



  $(function(){
    $range.rangeslider({
      polyfill: false,

      onInit: function(){
        $output.html($range.val());
      },
      onSlide: function(position, value){
        var $rangeSlider = $('.rangeslider');

        var fullWidth = ($rangeSlider.width() - 42) ;

        var minH = parseInt($savingGraph.css("min-height"));
        var maxH = parseInt($savingGraph.css("max-height"));

        var heightOfSaving = minH +((position / fullWidth) * (maxH - minH));  //((position / fullWidth) * 100);

        console.log(heightOfSaving);
        $savingGraph.css('height',  heightOfSaving + 'px'); // 'px' intead of '%'
        $($rateOnlineBedrijfsmakelaar).css('top', $savingGraph.height() + 'px');

        $output.html(value);
      }
    });


  });



})( jQuery );

CodePen

Louys Patrice Bessette
  • 33,375
  • 6
  • 36
  • 64