Я использую виджет слайдера jQuery UI (1.8), чтобы позволить пользователю скользить/прокручивать серию значков по горизонтали. Иногда я хочу, чтобы переместить ползунок и программно правильный способ сделать это путем изменения параметра «значение», как это:Анимация ползунка при изменении значения параметра слайдера jQuery UI?
$("#content-slider").slider("option", "value", 37);
Движение ползуна ручки мгновенно, хотя. Я хочу, чтобы движение было оживленным. Это может быть сделано на более низком уровне, оживляющий «влево» CSS свойство ручки, как это:
$(".ui-slider-handle").animate({ left: position, easing: 'swing' }, 450);
... но если я это сделаю, я просто установить левое свойство CSS для рукоять. Фактическое значение ползунка не изменяется. Так я думал о добавлении обратного вызова в конце анимации, где устанавливается значение, что-то вроде этого:
Когда я пытаюсь код, указанный выше (с обратного вызова), я получаю ошибку JQuery о слишком много рекурсии , поэтому я думаю, что это не очень хороший способ добиться того, что я хочу (уродливый код).
Есть ли лучший способ анимировать рукоятку ползунка, когда значение ползунка изменяется программно?
Заранее благодарен! /Thomas Kahn
У меня уже есть возможность «одушевленным: правда» включен и ползунок анимации, когда Я нажимаю ползунок. Но если я изменяю значение программно, изменяя параметр, движение ручки ползунка не анимируется - оно просто переходит к новой позиции. – tkahn
@tkahn - его демо изменяет его через. .lider ('value', newValue) '... –
Aha! Глядя на демо, я вижу, что они не используют «опцию», они устанавливают новое значение следующим образом: $ («селектор»). Слайдер ('значение', 100); и когда вы используете этот синтаксис, он оживляет! Спасибо Yi Jiang! – tkahn