0

我正在尝试以角度使用 jquery 旋钮,并且我创建了一个指令来使用它。

现在,我已经看到了很多 jquery 旋钮示例,在大多数示例中,当前值显示在表盘的中心……但在我的情况下不是!而且,我如何将数字设置为没有小数?

这是我的 html 和 angular 指令代码:

HTML

<knob ng-model="temp" value="0"></knob>
<input type="text" ng-model="temp">

旋钮.js

angular.module('knob', [])
    .directive('knob', function () {
        return {
            restrict: 'E',
            require: 'ngModel',
            link: function (scope, element, attrs, ngModel) {
                element.knob({
                    min: attrs.min,
                    max: attrs.max,
                    thickness: .2,
                    step: .5,
                    angleOffset: -125,
                    displayInput: true,
                    angleArc: 250,
                    change: function (value) {
                        scope.$apply(function () {
                            ngModel.$setViewValue(value);
                        });
                    }
                });
                ngModel.$render = function () {
                    element.val(ngModel.$viewValue).trigger("change");
                };
            }
        };
    });

这是它在浏览器上的外观:

在此处输入图像描述

在这里我希望它是怎样的(不是在谈论颜色,而是关于中间显示为 INT 的值)

在此处输入图像描述

提前谢谢了

编辑

正如建议的那样,我用roundSlider替换了jquery旋钮,但我有几个问题可以在这里找到:http://jsbin.com/doketasuju/edit?html, output

1)为什么我不想要“菱形”样式的白色背景?

2)如果我在输入中输入一些东西,它就不起作用!

这是一个关于我将如何使用它的示例,但我需要先解决这两个问题。谢谢

编辑 2

像这样添加标签的东西:

在此处输入图像描述

它显然应该显示滑块属性的最小值和最大值

4

2 回答 2

1

我已经使用jQuery roundSlider插件实现了您的要求。

它通过内置支持角度绑定,因此无需为此在外部创建自定义指令。

请从这里查看演示:

http://jsbin.com/yoboruquvo/edit?html,输出

有关roundSlider的更多详细信息,请查看演示文档页面。

希望对你有帮助...

编辑

1)通过设置与背景相对应的滑块背景颜色可以解决这个问题。

.rs-bg-color { background: gray; }

2)解决了使用指令时的问题。

更新演示: http: //jsbin.com/puwefi/edit ?html,output

于 2016-01-23T20:24:15.260 回答
1

对于编辑 2:

目前没有标签支持的内置选项。但是您可以通过使用内部代码来实现该功能。检查以下演示:

http://jsbin.com/gazara/1/edit?html,输出

.num1 span在这里,通过调整和类的边距值,.num2 span您可以定位标签。

半滑块演示:http: //jsbin.com/tamumo/edit ?html,output

于 2016-01-26T09:37:45.897 回答