JQuery UI最小和最大差异

时间:2013-05-28 11:32:18

标签: javascript jquery jquery-ui

在滑动时,我想显示最大值和当前值之间的差异 如果差值为0,则淡入“nodiff”div并在里面显示“no diff”文本(隐藏“diff div”),否则在“diff”div中显示“差异值差异”。

2件事。

1)从var difference...行开始,它似乎无法正常工作? 2)我如何淡入div(见下面的评论)

我的尝试:

$( "#slider-range-min" ).slider({
            value: 0,
            min: 0,
            max: 5,
            step: 1,
slide: function( event, ui ) {
$( "#current" ).html( ui.value );
var min = $("#slider-range-min").slider("option", "min");
var max = $("#slider-range-min").slider("option", "max");
var difference = max.value - min.value;
if (difference => 1) $( "#diff").html( "diff of " + difference ); // fade out #nodiff and fade in #diff?
if (difference = 0) $( "#nodiff").html( "no diff" ); // fade out #diff and fade in #nodiff?
}
});

2 个答案:

答案 0 :(得分:1)

maxmin选项会返回一个数值而不是一个对象,因此您必须直接访问变量minmax变量而不使用value属性。

要检查不平等,请使用==而不是=

像:

$("#slider-range-min").slider({
    value: 0,
    min: 0,
    max: 5,
    step: 1,
    slide: function (event, ui) {
        $("#current").html(ui.value);
        var min = $("#slider-range-min").slider("option", "min");
        var max = $("#slider-range-min").slider("option", "max");
        debugger;
        var difference = max - ui.value;
         $("#diff").html('');
        if (difference > 0) $("#diff").html("diff of " + difference); // fade out #nodiff and fade in #diff?
        $("#nodiff").html('');
        if (difference == 0) $("#nodiff").html("no diff"); // fade out #diff and fade in #nodiff?
    }
});

这是一个工作小提琴:http://jsfiddle.net/IrvinDominin/LsePU/

答案 1 :(得分:1)

1)(difference = 0)是一项作业,您需要进行比较:(difference == 0)

2)min和max始终相同 - 05因此差异始终相同:5

3)maxmin没有属性.value - 该行应为:

var difference = max - min;

4)您想要比较哪些值? minvaluemaxvalue?相应地改变你的路线:

var difference = max - ui.value;

HTML:

<div id="slider-range-min"></div>    
<div id="diff"></div>

JS: 正确的代码是(Example):

$( "#slider-range-min" ).slider({
            value: 0,
            min: 0,
            max: 5,
            step: 1,
slide: function( event, ui ) {
    $( "#current" ).html( ui.value );
       var min = $("#slider-range-min").slider("option", "min");
       var max = $("#slider-range-min").slider("option", "max");
       var difference = max - ui.value;
       $( "#diff").html( difference?"diff of " + difference : "no diff" );
    }
});

我只使用一个差异,所以你不需要淡入/淡出任何差异,只需改变#diff div的内容。