jQuery Mobile, установка значения слайдера - PullRequest
5 голосов
/ 01 декабря 2011

Слайдер в настоящее время работает нормально, он просто не выполняет то, что я ему говорю.

Я не могу использовать $('#slider').val(50).slider('refresh'), и когда я делаю это говорит мне:

Uncaught не может вызывать методы на слайдере до инициализации; попытался вызвать метод «refresh»

Что, кажется, имеет смысл, поскольку я никогда не инициализировал его как слайдер. Вот мой код: Где-то раньше я создаю div "<div id='scrubber'></div>" и просто записываю его на экран $(cssSelector.html(html); Затем, когда какая-то другая часть кода готова, я создаю слайдер:

$('#scrubber').html('<input type="range" name="prog" id="prog" value="0" min="0" max="'+event.jPlayer.status.duration+'"  />').trigger("create");

Потом позже:

$('#scrubber').val(event.jPlayer.status.currentTime).slider('refresh');

Что дает мне эту ошибку.

Я пытался использовать $('#scrubber').slider();, но похоже, что создается второй слайдер. Тогда я попытался заменить первый слайдер, но он только еще больше запутал. В любом случае, если я попытаюсь изменить значение, я больше не получу ошибку, но она все равно не изменит положение ползунка.

Есть идеи?

1 Ответ

4 голосов
/ 01 декабря 2011

Я некоторое время не работал над jQM, но есть ли у него функция .page ()? Если это так, вызовите page () в оболочке слайдера:

('#scrubber').parent().page();
$('#scrubber').val(event.jPlayer.status.currentTime).slider('refresh');

Это переопределяет ползунок, вызывая его правильную инициализацию.

...