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) {
          debugger; 
          var setColor = function (value) {
               
                var el = $('.rs-range-color');
                var tempValue = parseInt(value);
                el.removeClass();               
                el.addClass('rs-path');
                el.addClass('rs-transition');
                el.addClass('rs-range-color');
                el.addClass('temp-' + tempValue);
          };
          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>
Output

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

Dismiss x
public
Bin info
anonymouspro
0viewers