jQuery Mobile,设置滑块的值

时间:2011-11-30 22:43:02

标签: jquery jquery-mobile uislider

滑块当前呈现正常,它只是没有按照我所说的去做。

我无法使用$('#slider').val(50).slider('refresh'),而且 当我这样做时告诉我:

  

Uncaught在初始化之前无法调用滑块上的方法;   试图调用方法'刷新'

这似乎有道理,因为我从未将其初始化为滑块。这是我的代码: 在某个地方我创建了一个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 个答案:

答案 0 :(得分:4)

我暂时没有使用过jQM,但是它还有.page()函数吗? 如果是这样,请在滑块包装器上调用page():

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

这将重新渲染滑块,使其正确初始化。

相关问题