jQuery UI Slider с кнопками управления? - PullRequest
7 голосов
/ 25 ноября 2011

Я пытаюсь добавить кнопки управления на ползунок jQuery UI, но не могу заставить его работать.

Может кто-нибудь увидеть, что я делаю не так:

$(function() {

    var gmin = 1;
    var gmax = 500;

    $( "#slider" ).slider({
        value:5,
        min: gmin,
        max: gmax,
        step: 1,
        slide: function( event, ui ) {
            $( "#donate_amount_label span" ).html( "£" + ui.value );
        }
    });

    $( "#donate_amount_label span" ).html( "£" + $( "#slider" ).slider( "value" ) );
    $( "#" ).val( $( "#slider" ).slider( "value" ) );

    $('#down').click(function() {

      var s = $("#slider");
      s.slider('value', s.slider('value') + s.slider( "step" ) );   

    });

});

Ползунок работает нормально, а значения обновляются, но при нажатии на ссылку #down с полосой прокрутки ничего не происходит.Я бы хотел, чтобы он двигался вверх на один шаг, когда нажата ссылка #down.

Спасибо, Пит

1 Ответ

3 голосов
/ 25 ноября 2011

Вы должны сделать:

var s =  $( "#slider" ).slider({
    value:5,
    min: gmin,
    max: gmax,
    step: 1,
    slide: function( event, ui ) {
        $( "#donate_amount_label span" ).html( "£" + ui.value );
    }
});

$('#down').click(function() {
  s.slider('value', s.slider('value') + s.slider( "option", "step" ) );   

});

ошибка была в получении шага. Вы должны использовать

 s.slider( "option", "step" ) 

скрипка здесь http://jsfiddle.net/nrNX8/ (с шагом в 1 он перемещается очень медленно)

...