0

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

slide: function()スライダーが以前の位置にしか更新されないように見える理由がわかりません。スライダーとラベルは正しい位置 (1 と 3) から開始されますが、最初の移動ではラベルが更新されません。その後の移動ごとに、以前の位置の値が返されます。例えば:

  1. 最小スライド ハンドル (値 1) を右に移動 - ラベルは更新されません
  2. 最小スライド ハンドル (値は 2 になるはずです) を左に移動します。ハンドルの位置は「1」である必要がありますが、ラベルは「2」に更新されます。
  3. 最小スライド ハンドルを左に動かし、次にもう一度右に動かします。スライド ハンドルは「1」の位置になりましたが、ラベルの値は 0 です

http://jqueryui.com/slider/#rangeの例に従おうとしました- 何が間違っていますか?

4

1 に答える 1

1

「スライド」イベントが発生したとき、ハンドルの値はまだ変更されていません。「スライダーを移動したばかり」の値ではなく、常に各ハンドルの現在の値をログに記録しています。

docsによると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 に答える