問題タブ [clearinterval]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
693 参照

jquery - jQuery モバイルを使用した mvc4 - ページに移動するときに読み込み中の画像を表示する (リンクまたはポストバック)

jQuery モバイルは、ページが読み込まれるときに適切なページ読み込みアニメーションを実行しますが、データが重いページの場合、ユーザーは、新しく読み込まれたページが表示されるまで、一時的に「白い」ページを見ることができます。それを取り除くために、次のコードを使用しています。

それにもかかわらず、私はまだ白いページを見ています。実際のページが読み込まれるまで、白いページにアニメーションを表示する方法はありますか? http://www.amerimark.comの Web サイトで、左側のナビゲーション ボタンをクリックしたときに読み込みメッセージを表示する方法が気に入っています。

0 投票する
1 に答える
416 参照

javascript - Javascript - interval と setinterval スコープのクリア

setInterval()スクリプトの現在の進行状況を取得するために使用する進行状況バーを表示する AJAX があります。私の問題は、進行状況が 100% に達したときにそれを殺すことができないように見えることです。これがスコープに関係しているかどうかはわかりませんが、私のハンドラーはグローバルであるため、なぜ機能しないのかわかりません。ここに私が持っているものがあります:

clearInterval が機能しないのはなぜですか? 私は何を間違っていますか?

0 投票する
1 に答える
98 参照

javascript - 一定期間内に関数ブロッカーを作成する

私は plug.dj で実行する部屋のカスタム スクリプトに取り組んでおり、AFK、作業中および睡眠中の自動メッセージ アラートを実装しています。そのため、ステータスが AFK に設定されていて、誰かがあなたをメンションすると、AFK ステータスに関連する自動メッセージが返されます。このコードは次のとおりです。

}

私がやりたいのは、ステータスの1つとして設定されている間に誰かが言及された場合、再びアクティブになるため、自動メッセージの前にタイマーを追加したいということです. 私がAFKに設定されていると言って、誰かが私に言及すると、彼らは自動メッセージを受け取り、タイマー内に誰かが私に言及した場合、自動メッセージは送信できません(遅延せず、遅延後に送信されます). これについて正しい助けが得られることを願っています、ありがとう。

0 投票する
2 に答える
471 参照

javascript - Javascript clearInterval() でインターバルをクリアできない

get_user_record() この関数は、データベースからデータを取得するメソッドを呼び出します。データベース数を継続的にチェックし、それに応じて進行状況バーに値を与えるこのメソッド showUpdatedProgressBar() メソッドからの応答が必要ないため、タイムアウトを使用しました。その目的のために、動作している setInterval() 関数を使用しましたが、間隔をクリアできませんでした。どこが間違っているか教えてください。

0 投票する
2 に答える
996 参照

javascript - この状況で window.setTimeout() と window.setInterval() を使用する

これは初心者の質問かもしれませんが....最近、私はwindow.setTimeoutを使用して、親関数を再帰的に呼び出し、サーバーにajaxポーリングを行います。

windowIntervalここに私のグローバル変数です。

ここで変数を使用する代わりに、functionto を単純に渡すことができることを知っていclearTimeoutますが、それによって他のすべての間隔も停止されます :(

私がこれを行っている理由は、応答がある場合にのみ、サーバーがタイムアウトを行うためです。私のシナリオは、タイムアウト間隔ごとに更新されるグラフがあります。私の知る限り、間隔を設定すると、変数に特定の値が設定されます(変数に設定されている場合)。そのため、(タイムアウト関数が呼び出されるたびに) 変数を出力すると、一意の int 値が得られます。

多くのタブがあり、多くのタブで同じグラフを使用できます。これは、以前にトリガーされた同じ間隔を利用するだけです。現在、グラフは 1 つしかありません。しかし、表示するグラフは同じタイプのものをたくさん持っています。ゲージチャートと言います。

現在選択されているタブにチャートが存在しないときはいつでも、タイムアウトをクリアする必要があります。したがって、必要なパラメータをこの関数に渡すことで、サーバーへの呼び出しを行う関数を 1 つだけ作成する予定です。

しかし、ポーリングするために、上記の window.setTimeout を使用しています。これは1つのチャートで機能します。ここで、サーバーをポーリングするための別のパラメーター セットを使用して、もう 1 つのグラフを追加しようとします。以前にトリガーされたタイムアウトの ID とは異なる ID を持つ別の setTimeout 関数を使用する必要があります。

また、最初のチャートがすでに存在する場合、タイムアウトはすでにトリガーされており、それを実行し続ける必要があることも考慮する必要があります。そのため、2 番目のタイムアウトをトリガーする必要があります。しかし、ここにはありませんsecond timeout

実行時にいくつのチャートがあるかを実際に予測できないため、これに代わるアプローチがあるかどうか疑問に思っていました。

Question 1 : Can we flood our browser with many timeout's?

Question 2 : How to get the id of that particular timeout, so that I can clearTimeout(id) on it?

Question 3 : Since we can't assign / make variables on the fly, how to set / make such a data structure which can hold such a pointer to the particular chart's index / id.. so that we can easily get hold of it and clear it.

Question 4 : Is this the only way we can poll the server(via AJAX) if we have to poll continually?

最後に、これはまさにcomplex私がここに投稿した問題であることを認識しています。しかし、フォーラムからのアプローチに関する有用な情報を見つけることができると確信しています。私はJSでこれらすべてを行った経験はあまりありませんが、助けていただければ幸いです!


アップデート

申し訳ありませんが、ここにコードを投稿する必要があります..しかし、Extjs を使用してチャート ポートレットを取得しています。関数の私のコードconnectToVMはこれです:

ここで、これを使用して関数をトリガーします。

これらのシナリオで呼び出すcheckIfWindowIntervalIsActivated()親関数呼び出しも同様です。

1)Gauge Chartが新しく作成されたときはいつでも.. I この呼び出しをトリガーし、 が でboolean isIntervalActivatedある場合false、サーバー ポーリングをトリガーします。

2)したがって、タブ 1 に既にチャートがある場合 (ユーザーが選択したため)、チャートを持ってtab 2いないものに変更します。したがってisIntervalActivated、ポーリングを停止する true に設定するだけです。This is handled for 1 chart. ここでの質問は、この関数を作成したい場合、同じであるがポーリングする別re-usableのチャートをもう 1 つドロップしたい場合、最初のチャートのトリガーされたタイムアウト値を持つ同じ変数をどのように使用するかです。PS: ajax リクエストごとに値が変わります。だから価値はありません:(typeserver parameterswindowInterval1 single

3)他のタブに同じタイプが存在しないときはいつでも投票を停止しchartます。これは完全に理にかなっています。現在、ユーザーが新しいポートレットにドロップするたびに、またはページの読み込み時にすべてのポートレットをキャッシュして、ユーザーが構成したすべてのポートレットをプルしています。そのような ではcase、すべてのcharts'ajax 呼び出しをトリガーする必要がありconfigured destinationます。関数名にあるように、VM にポーリングしているため、グラフがいくつあるかわかりません。したがって、ユーザーが VM1 を消費すると、VM2 に切り替わります。

したがって、このような類似のチャートに対して同じ関数を作成することは絶対に不可能です。re-useだから、同じタイムアウトができるかどうか、またはこの問題に完全にアプローチできるかどうかを確認したかっただけですdifferent:( :(

少し明確になったと思いますが、そうでない場合は、自分の状況をもっと説明できます。必要に応じて、さらに質問してください :) ありがとうございます。