1

可以并且应该通过以下方式更改滑块:拖动、单击、输入数字和按 +/-。

一切正常,除了拖动:当我释放手柄时,它“跳”了一步进入拖动方向。例如,如果我从 1500 拖动到 2000,它将在 2010 发布时停止。如果我取出change: refreshCalculation它不会这样做,但是当然它不会允许 +/- 和手动插入数字。

请检查:http: //jsfiddle.net/YvsmT/

$("#slider-vertical").slider({
orientation: "horizontal",
range: "min",
animate: 500,
min: 0,
max: 8760,
value: 1500,
step: 10,
slide: refreshCalculation,
change: refreshCalculation
});

function refreshCalculation() {
var s4 = $("#slider-vertical").slider("value");
$("#betriebsstunden").val(s4);
}

$("#plus1").click(function () {
var bs1 = $("#slider-vertical").slider("value");
$("#slider-vertical").slider("value", bs1 + 10);
refreshCalculation();
});

$("#minus1").click(function () {
var bs1 = $("#slider-vertical").slider("value");
$("#slider-vertical").slider("value", bs1 - 10);
refreshCalculation();
});

$("#betriebsstunden").change(function () {
var value = this.value;
$("#slider-vertical").slider("value", value);
});


refreshCalculation();
4

1 回答 1

1

你必须删除change: refreshCalculation它工作正常。

$("#slider-vertical").slider({
    orientation: "horizontal",
    range: "min",
    animate: 500,
    min: 0,
    max: 8760,
    value: 1500,
    step: 10,
    //change: refreshCalculation,
    slide: refreshCalculation
});

function refreshCalculation() {
    var s4 = $("#slider-vertical").slider("value");
    $("#betriebsstunden").val(s4);
}

$("#plus1").click(function () {
    var bs1 = $("#slider-vertical").slider("value");
    $("#slider-vertical").slider("value", bs1 + 10);
    refreshCalculation();
});

$("#minus1").click(function () {
    var bs1 = $("#slider-vertical").slider("value");
    $("#slider-vertical").slider("value", bs1 - 10);
    refreshCalculation();
});

$("#betriebsstunden").change(function () {
    var value = this.value;
    $("#slider-vertical").slider("value", value);
});


refreshCalculation();

演示:http: //jsfiddle.net/YvsmT/1/

于 2013-09-16T11:10:44.517 回答