Как да деактивирате отметката на плъзгача в 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

Да, знам, че вече е малко късно, но е по-добре от никога. Опитах се да разреша този проблем с часове. надявам се моето решение да помогне.

Lock() на плъзгача може да деактивира взаимодействието с плъзгане/натискане/щракване на плъзгача, но по някакъв начин ще lock() при събитие 'slideStart'. По този начин, въпреки че извиквате slider.setValue(), за да попълните стойността на плъзгача, той винаги ще lock() в най-лявата позиция, напр. 0.

IMO, най-добрият начин да го направите е както следва:

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