0

我正在使用jquery 旋钮,在我的用例中,我希望光标宽度以百分比表示,这样当宽度为 100% 时光标占据整个圆圈,但是它只接受数值作为输入,我的选择是什么?

   $(function() {
        $(".dial1").knob({
            'bgColor': 'green',
            "skin":"tron",
            'fgColor': 'red',
            'cursor': '100'
        });
    });

如果我给它一个值 320,光标会填满整个圆圈。

4

2 回答 2

0

据我所知,您唯一的选择是更改 jQuery 插件的源代码。以像素为单位的宽度在插件中是硬编码的,例如在第 153 行它说:

    this.$c = $('<canvas width="' +
                        this.o.width + 'px" height="' +
                        this.o.height + 'px"></canvas>');

this.o.width值是您设置的值'cursor': '100'

对于第 153 行的示例,您可以通过制作pxto%或删除px并添加您希望它像的任何值来更改插件:

    this.$c = $('<canvas width="' +
                        this.o.width + " height="' +
                        this.o.height + "></canvas>');

而不是在 init 中做类似的事情:

$(function() {
    $(".dial1").knob({
        'bgColor': 'green',
        "skin":"tron",
        'fgColor': 'red',
        'cursor': '100%'
    });
});
于 2013-07-04T12:03:19.683 回答
0

我正在使用一种解决方法,如果我想显示 x 百分比并且总计为 y,那么我正在执行 (x/y)*320 它以百分比形式给出光标宽度,因为 x 是动态的,因此光标继续填充圆圈作为这个值增加。由于这是一个非常具体的问题,我不希望很快会有任何其他答案将其标记为答案。

于 2013-07-05T11:42:28.733 回答