1

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

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?
}
});
4

2 回答 2

1

maxandmin选项返回一个数值而不是一个对象,因此您必须在没有属性的情况下直接访问变量或变量minmaxvalue

要检查质量,请使用==not =

喜欢:

$("#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/

于 2013-05-28T11:44:07.530 回答
1

1)(difference = 0)是一个作业,你想要一个比较:(difference == 0)

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

3)max并且min没有财产.value-该行应为:

var difference = max - min;

4) 你想比较哪些值?minvaluemaxvalue? 相应地改变你的行:

var difference = max - ui.value;

html:

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

js:正确的代码是(示例):

$( "#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" );
    }
});

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

于 2013-05-28T11:44:18.170 回答