2016-11-07 4 views
1

私はthis JQuery gaugeを使用しています。入力要素に値を動的に渡そうとしています

300msのは、97を表示した後、その後、その後、後200msのは、110を表示100つまりので、私はその入力フィールドに完全に頼りにならないようにしたいなど、一連のアニメーションのいくつかの並べ替えを作成するために

をしようとしています(それは希望どのようにすれば、アニメーションは配列内の数値に基づいて速度を再生し、各数値の後に遅延定数で遅れさせる一定の遅延を持つ配列の配列を使うことができますか? 300msと言う)

ありがとう。

私は要素を選択してこのような設定値を適用しようとしました:$("#myValues").myfunc({divFact:20,eventListenerType:'keyup'}).val(100)しかし、それは結果がない数値を配置します。eventListenerType:'keyup'を使用し、私のval関数はdefです。 100

Here is a Fiddle

+1

https://jsfiddle.net/pranavcbalan/nLLbus47/1/ –

答えて

1

あなたは、配列を反復処理し、インデックスの値に依存し、入力フィールドの値を設定することができます:あなたが使用することができ、各反復を遅らせるには

$("#myValues").myfunc({ 
    divFact: 10 
}); 

var time = 0; 
$.each([ 100, 90, 80, 70 ], function(index, value) { 
setTimeout(function(){ $("#myValues").val(value).change(); }, time) 
time += 1000; 
}); 

setTimeoutファンクションは、値のセッタをラップします。

keyUpイベントを削除しました。プラグインのデフォルト値はeventListenerTypeですが、これをトリガーする必要があります。

timeの初期値を、最初の反復も同様に遅延させたいときに任意の値に設定します。

Example

+0

すてきな答え、ありがとう。 – clusterBuddy

1

後からkeyupを送信する2つの問題は、ありません

  1. あなたが使用して値を変更することはできませんので、プラグインコード内のオブジェクトの参照を返していないプラグインval()方法。
  2. val()メソッドは、プログラムでトリガーする必要があるイベントkeyupをトリガーしません。

code for returning the object referenceを追加するか、好きなようにすることができます。

var $ele = $("#myValues"); // cache the reference 
$ele.myfunc({divFact:20,eventListenerType:'keyup'}); // initialize plugin 
$ele.val(100).keyup(); // change value and trigger the event 

Working Example

-1

私はあなたのjsfiddleで2つの物事が変更されました:

  1. 私はchangePositionメソッドにspeedパラメータを追加しました。
  2. 私はthisをオブジェクト初期化子の最後に返します。

その他のいくつかのマイナーな改良点があります。私のを参照してくださいjsfiddle

編集:私はあなたがそれから入力フィールドを取得したいので、この方法でした。これが方法です。

関連する問題