Как отключить ползунок в YUI?

Я использую ползунок YUI в своем приложении. Я хочу отключить ползунок, чтобы пользователь не мог перемещать его в зависимости от состояния моего приложения. Как это сделать? Пожалуйста, помогите мне.


person Poomalairaj    schedule 09.08.2011    source источник
comment
Вы хотите удалить тиковые индикаторы или отключить перемещение ползунка? Или заставить ползунок двигаться произвольно?   -  person NT3RP    schedule 17.08.2011
comment
Какую версию YUI вы используете: API слайдера в YUI2 сильно отличается от того же в YUI3.   -  person Nick Husher    schedule 18.08.2011
comment
Я просто хочу отключить движение ползунка. Я пробовал метод блокировки ползунка, но он не работает. Я использую YUI2   -  person Poomalairaj    schedule 19.08.2011


Ответы (3)


Есть метод lock().

см. http://developer.yahoo.com/yui/docs/YAHOO.widget.Slider.html#method_lock для этого

вы сказали, что пробовали, но как именно вы вызвали этот метод?

person Walialu    schedule 19.08.2011
comment
Я пробовал так YAHOO.widget.Slider.cutslid.lock(); редактировать: cutslid - это объект слайдера, который я использую. - person Poomalairaj; 23.08.2011

Да, я знаю, что уже поздно, но это лучше, чем никогда. Я пытался решить эту проблему часами. Я надеюсь, что мое решение поможет.

Блокировка ползунка () может отключить взаимодействие перетаскивания / ввода / щелчка ползунка, но он каким-то образом заблокирует () в событии 'slideStart'. Таким образом, даже если вы вызываете slider.setValue() для заполнения значения ползунка, он всегда будет lock() в крайнем левом положении, например. 0.

ИМО, лучший способ сделать это следующим образом:

slider.setValue(100, false);

if(!writePermission) {
  slider.subscribe('slideEnd', function(){slider.lock();}); //locks slider when it ends the drag animation
}

Решение timmow работает только в том случае, если пользователь щелкает фон ползунка, но пользователь все еще может перетаскивать ползунок большим пальцем.

person justinw    schedule 17.10.2011

Вам необходимо подписаться на события, запускаемые ползунком — они задокументированы здесь, а также здесь, поскольку ползунок наследуется от виджета перетаскивания

Например, следующее должно работать

YAHOO.widget.Slider.cutslid.subscribe('b4MouseDownEvent', function() {YAHOO.widget.Slider.cutslid.lock()});
person timmow    schedule 23.08.2011