0

JSFiddle リンクは次のとおりです: ( http://jsfiddle.net/jforman07/qaU7K/222/ )。

問題:スライダー バーが動かない

JavaScript は次のとおりです。

$(document).ready(function () {
 $("#slider").slider({
    range: "min",
    value: 50,
    min: 1,
    max: 100,

    slide: function (event, ui) {

         $("input.sliderValue[data-index=0]").val("$" + ui.values[0] + "k");

        var delay = function () {
            var handleIndex = $(ui.handle).data('index.uiSliderHandle');

            $("#slideText").html(ui.value).position({
                my: 'center top',
                at: 'center bottom',
                of: ui.handle,
                offset: "0, -74"
            });
        };
        setTimeout(delay, 0);
     }
 });


});

私が変われば

value: 50,

values: [50],

その後、スライダーバーは機能しますが、スライダーバーの緑色の陰影が消えます - この JSFiddle に見られるように - http://jsfiddle.net/jformman07/qaU7K/223/

4

2 に答える 2

1

これはうまくいくようです:

$(document).ready(function () {
$("#slider").slider(options = {
    range: "min",
    value: 50,
    min: 1,
    max: 100,

    slide: function (event, ui) {


        var delay = function () {
            var handleIndex = $(ui.handle).data('index.uiSliderHandle');

            $("#slideText").html(ui.value).position({
                my: 'center top',
                at: 'center bottom',
                of: ui.handle,
                offset: "0, -74"
            });
             $(".sliderValue").val("$" + ui.value + "k");
        };

        setTimeout(delay, 0);


    },
    create : function (event, ui){
     $(".sliderValue").val("$" + options.value+ "k");

    }
});


});

A: スライダーが完了したら、create オプションをコールバック関数として使用します。UI は空なので、params でわかるように、オプションに名前を付ける必要があります。(options = {...})これにより、B を呼び出してプリセット値をフェッチできるようになりoptions.value ます。遅延関数でスライダー ラベルを更新する必要があります。

于 2013-07-06T07:23:54.870 に答える