Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery roundSlider - JS Bin</title>
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<link rel="stylesheet" href="//cdn.jsdelivr.net/jquery.roundslider/1.2/roundslider.min.css">
<script src="//cdn.jsdelivr.net/jquery.roundslider/1.2/roundslider.min.js"></script>
</head>
  
<body ng-app="myApp" style="background:white">
  <h2><a target="_blank" href="http://roundsliderui.com/">roundSlider</a></h2> <br/>
  <div>
    <!--<input id="slider" ng-model="sliderValue" />-->
    <circle ng-model="sliderValue"></circle>
  </div>
  <br><br><br>
  <input type="text" ng-model="sliderValue">
  
  <br/><br/>
  <div>
    Value : {{sliderValue}}
  </div>
  
  <script>
    $.fn.roundSlider.prototype.defaults.create = function () {
      var o = this.options;
      var startLabel = this._valueToAngle(o.min);
      var numberTag1 = this._addSeperator(startLabel, "num1 rs-tooltip-text");
      numberTag1.children().html(o.min).rsRotate(-startLabel);
      var endLabel = this._valueToAngle(o.max);
      var numberTag2 = this._addSeperator(endLabel, "num2 rs-tooltip-text");
      numberTag2.children().html(o.max).rsRotate(-endLabel);
    }
    
    angular.module('myApp', [])
    .directive('circle', function () {
      return {
        restrict: 'E',
        require: 'ngModel',
        link: function (scope, element, attrs, ngModel) {
          var setColor = function (value) {
             var el = $('.rs-range-color');
             el.removeClass("t-green t-orange t-yellow t-red");
            
             if(value <= 25) {
                el.addClass('t-green');  
             }
             else if(value <= 50) {
                el.addClass('t-orange'); 
             }
             else if(value <= 75) {
                el.addClass('t-yellow');
             }
             else {
                 el.addClass('t-red');  
             }
          };
          element.roundSlider({
            radius: 100,
            sliderType: "min-range",
            editableTooltip: true,
            startAngle: 315,
            circleShape: "half",
            width: 20,
            value: ngModel.$viewValue,
            //step: 0.5,
            beforeCreate: function (){
              console.log(attrs.value);
              setColor(ngModel.$viewValue)
            }            
          });
          console.log(element.val());
          element.on("change drag", function (e) {
            if (e.value != undefined) {
              scope.$apply(function () {
                ngModel.$setViewValue(e.value);
                setColor(e.value);
              });
            }
          });
          ngModel.$render = function () {
            element.roundSlider("setValue", ngModel.$viewValue);
          };
        }
      };
    });
  </script>
</body>
</html>
 
.rs-path-color {
  background: #EEEEEE;
}
.rs-tooltip-text {
  font-size: 25px;
  font-family: Arial;
  color: gray;
  font-weight: bold;
}
.rs-border {
    border: none;
}
.rs-bg-color {
   background: white;
   /*border-radius: 100% 0 0;*/
}
.num1 span {
  margin-left: 3px;
  color:blue
}
.num2 span {
  margin-left: -11px;
  color: red;
}
.rs-range-color{
  background: #cacaca;
}
.t-green {
  background:green;
}
.t-orange {
  background:orange;
}
.t-yellow {
  background:yellow;
}
.t-red {
  background:red;
}
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
soundar24pro
0viewers