1

jQuery の Slider を jQuery の Spinner にバインドし、両方を相互に更新し、ページ上の他のものを更新しようとしています (進行状況バーと h1 の出力を表示します)。

ただし、スライダーを変更しようとすると問題が発生します。両方が互いに変化しているため、Slider を移動すると Spinner が更新され、Slider が更新されますが、いくつかの奇妙な動作が発生します。塗りつぶしの幅に対する css スタイルの適用に一種の遅延が発生します。

コメントアウトすることで遅延を修正できます

        // Spinner speak to range slider fill
        // $( "#rangeFill" ).css( "width", ui.value + "%");

ただし、ユーザーがスピナーの値を変更すると、スライダーのハンドルのみが移動し、塗りつぶしは移動しません。

フィドル: http://jsfiddle.net/PaulOD/2T9RU/

どんな助けでも大歓迎です, ありがとう, ポール

4

1 に答える 1

1

ポール、あなたの問題は、スライド時にスピナーの値を設定する方法が原因で発生すると思います. スライドするときに動きが速すぎると、slideイベントが追いつかなくなり、その結果、spinner値が遅れて問題が発生します。

if (ui.value > last) {
    $("#spinners").spinner("stepUp", 1);
}
if (ui.value < last) {
    $("#spinners").spinner("stepDown", 1);
}

スピナーを次のように更新します。

$("#spinners").spinner("value", ui.value);

これで、スピナーは常に最新のスライダー値に追いつくようになります。

フィドル

于 2014-03-13T21:45:01.650 に答える