ページにいくつかのjQuery-ui範囲スライダーがあり、テーブル内の行を追加および削除し、スライダーをスライドさせたときにその値をスライダーの上に表示します。関数showDataは、完了する前にすべてのテーブル行をチェックして更新する必要があり、showData関数が返されるまで、スライドイベントは何も実行しないようです。このテーブルは潜在的に非常に大きくなる可能性があります(1000行以上)
スライダーの設定の1つは次のとおりです。
.slider({
min: 0,
max: 1250,
step: 50,
values: [0, 1250],
range: true,
slide: function (e, ui) {
$('span.height').text(ui.values[0] +
'mm - ' + ui.values[1] + 'mm ');
showData('height', ui.values, 'range');
}
});
私の問題は、低速のコンピューターを使用しているIEユーザーの場合、スライダーをスライドさせても、スライダーのハンドルの位置でさえも何も変化していないように見えることです。1秒以上後まで。
私がやりたいのは、スライド関数の$('span.height')。text(...の一部を実行し、UIスライダーハンドルを適切な場所(つまり、マウスの下)ですぐに更新することです。 。
次に、showData関数がたとえば300ミリ秒後に実行されたが、その時間内にスライドイベントが再度トリガーされなかった場合にのみ、完全になります。
スライダーの停止イベントにshowData関数を配置するだけですが、それはクライアントが望んでいることではありません。
jsfiddleに動作するバージョンを掲載しました:http://jsfiddle.net/vcgAU/1/
どんな助けでもいただければ幸いです
ありがとう