0

http://jsfiddle.net/emcniece/7Zj7M/2/

我不明白为什么滑块slide: function()似乎只更新到以前的位置。滑块和标签从正确的位置(1 和 3)开始,但它们不会在第一次移动时更新标签......然后对于之后的每一次移动,它们都会返回先前的位置值。例如:

  1. 向右移动最小滑动手柄(值 1) - 标签不更新
  2. 将最小滑动手柄(现在应该是值 2)向左移动 - 标签更新为“2”,即使手柄位置应该是“1”
  3. 向左移动最小滑动手柄,然后再次向右移动。滑动手柄现在处于“1”位置,但标签值为 0

我试图按照http://jqueryui.com/slider/#range上的示例进行操作- 我做错了什么?

4

1 回答 1

1

'slide' 事件发生时,句柄的值尚未更改。您始终记录每个句柄的当前值,而不是“刚刚移动到滑块”的值。

根据文档ui.value如果您不取消滑动事件,则包含句柄将具有的值。Andui.values是一个包含两个句柄的值的数组(具有相同的警告)。所以,试试这个:

slide: function(e, u){
    $(this).parent().children('.label-min').text(u.values[0]);
    $(this).parent().children('.label-max').text(u.values[1]);
},
于 2013-05-16T16:59:16.597 回答