問題タブ [setinterval]

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 投票する
3 に答える
2446 参照

javascript - クロージャーを使用してループで作成された JavaScript タイマーまたはインターバル

jQueryを使用して、いくつかの要素にタイマーまたはインターバルループを設定し、数秒ごとにチェックしています。タイマーを設定して再起動する必要があるかどうかを確認したり、タイマーを設定して間隔を空けたり、停止する必要があるかどうかを確認したりしました。

単純化されていますが、これは基本的に私が必要とするものです:

クラス アイテムの ID は、id_1、id_2、id_3 です。しかし、id_3 を指定する 3 つのアラートを受け取るだけです。私のコードでは、「this」を渡そうとすることから始めましたが、問題を理解するために単純化を続けました。

変数を毎回新しいアドレスにコピーするにはどうすればよいですか? クロージャーを使用する必要があることはわかっています。何があっても他の変数を参照しているようです。

次のようなタイマーを使用してループに単純化してみました。

しかし、私は自分の問題を悪化させているだけだと思います。それは何もしていないようです.

以前の質問を検索しましたが、ほとんどは特定の問題を切り詰めるのではなく、大量の余分なコードで満たされ、他の方法で解決されています。この例を機能させることで、これがどのように機能するかを理解したいと思います。これを書いている間に、補助機能でタイマーをオフにできることがわかりました。

それなしでどうやってこれを行うことができますか?何か良い方法はありますか?

0 投票する
3 に答える
1500 参照

javascript - プロトタイプで setInterval を使用した JavaScript コンテキストの問題

プロトタイプの継承を使用しながら、このコンテキストの問題に頭を悩ませようとしています(これまで実際に遊んだことはありません)。私は AutoScroller オブジェクトを持っています:

ドキュメントの準備ができたら、次のようにしてすべてを開始します。

「this」は常にscrではなく「p.startBtn」を参照するため、すべての問題が発生します。そのため、setIntervalを使用した開始関数が呼び出されると、「this.move()は関数ではありません」というエラーが発生します。

コンテキストはかなり基本的な概念であり、私にはわからないようです。これを整理する方法についてのアイデアはありますか?

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

javascript - setInterval ウィンドウのフォーカスとハイバネーション

私は奇妙な問題に遭遇しました。セッションを維持するために setInterval を使用する JavaScript があります。しかし、ブラウザーが一定期間放置された場合 (一晩中開いたままにするか、別のアプリケーションで作業に集中していない場合)、IE で setInterval が起動せず、セッションが期限切れになる可能性があります。これは、firefox では発生しません。

これが IE の setInterval の既知の問題であるかどうかを知っている人はいますか?良い解決策はありますか?

編集(setIntervalが実行しているものに関する詳細情報):

setInterval は、サーバーにセッション タイムアウトの更新を要求する ajax 関数を呼び出しています。

間隔は、セッション タイムアウトの半分の速度で起動するように設定されています (10 分ごとに起動し、セッションは 20 分でタイムアウトします)。

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

javascript - setInterval / clearInterval スコープ内の問題

次のコードがあり、#play ボタンを押すまで正常に動作します。var intID が別の場所に設定されており、window.clearInterval() を実行したときに同じスコープにないためだと思います...どうすれば修正できますか? ところで、これは Google Maps API バージョン 3 です

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

javascript - Javascript ループ & setInterval

この js は値を取り、そこから X の量を減算し、その値までカウントアップします。

単純な while ループを実行してこのタスクを実行しようとしましたが、うまくいきませんでした。

以下のwhileループメソッドが機能しない方法または理由について誰かがコメントできるかどうか疑問に思っていました。

これが私がそれを機能させる唯一の方法です:

非稼働Whileメソッド:

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

javascript - javascript間隔をjQuery element.dataオブジェクトに保存しますか?

Smooth Div Scrollと呼ばれる jQuery プラグイン (jQuery UI ウィジェット) に取り組んでおり、ページ上のプラグインの個々のインスタンスに固有の間隔への参照を保存する必要があります。私がこのようなものを書くだけなら:

...変数myIntervalは実際にはwindow.myIntervalになり、ページ上のプラグインのすべてのインスタンスで共有されます。したがって、インスタンスの間隔を設定またはクリアしようとすると、すべてのインスタンスが同じウィンドウ変数を参照しているため、すべてのインスタンスの間隔が設定/クリアされます。

jQuery API を調べると、プラグインの各インスタンスには対応する DOM 要素があるため、一致した要素に関連付けられた任意のデータを格納するために使用されるメソッド.dataが見つかりました。完全!このメソッドを使用して、一致した要素に固有のデータを保存できます。したがって、コードを次のように構成しました (ここで、el は一致した要素への参照です)。

プラグインの異なるインスタンスが同じ変数 (間隔) を参照しなくなるため、これはある程度機能します。しかし、プラグインのインスタンスが 2 ~ 3 個あるページがあり、各インスタンスに同じ間隔を設定すると、最初のインスタンスだけがその間隔を開始することに気付きました。ただし、間隔のタイマーが小さい場合、一部の要素のみが間隔を開始します。

実際の値を深く掘り下げることはしていませんが、1 つのページにプラグインの 3 つのインスタンスがあり、次のように間隔が 5 に設定されている場合:

...最初のインスタンスのみが開始されます。20 ~ 30 に増やすと 2 つのインスタンスが起動し、さらにたとえば 50 に増やすと 3 つのインスタンスすべてが起動します。これはとても奇妙ですか?

私の質問は次のとおりです。

(.data を使用して) 間隔への参照を保存することは良い考えですか? もしそうなら、失敗した間隔の原因は何ですか?

これで私を助けてください - 私は困惑しています! 実際のソース コードが必要な場合は、プラグイン ページ (この投稿の上部にあるリンク) をチェックしてください。

/トーマス・カーン

0 投票する
5 に答える
8109 参照

javascript - jQuery/Javascript:DOM要素が存在するかどうかsetIntervalをチェックしますか?

変数チェック; function showLoader() { $('#mc_signup_form').prepend(' 読み込み中 …'); check_init(); }

ブラウザが check_trigger() が存在しないと言い続けるのはなぜだろうか? showLoader() 関数内で setInterval を開始しています。check_trigger をトリガーする必要があります。2 つの div (.mc_error_msg または .mc_success_msg) のいずれかが存在する場合、間隔をクリアしたいと考えています。

私は何を間違っていますか?

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

javascript - IE と setInterval() が更新/更新されない問題

JavaScript/Jquery を使用して、データベースの値でページを自動更新していますが、Internet Explorer では更新されないようです。FireFox と Chrome では正常に動作します。誰が何が悪いのか説明できますか? IE はページのキャッシュされたバージョンを表示しているようです。どうすればこれを防ぐことができますか? ありがとう。

0 投票する
4 に答える
3543 参照

javascript - setInterval と未定義の引数に関する問題

canvas 要素を使用してブラウザで基本的なストロボ ライトを作成しようとしています。setInterval が changeBG 関数を呼び出し続けて、ランダムな背景色に変更されることを期待しています。この関数は、単独では正常に機能しますが、setInterval によって呼び出された場合は機能しません。このページを firebug でプルアップしようとしたところ、色が定義されていないことがわかりました。これが問題のコードです。

私はjavascriptが初めてなので、どんな洞察も高く評価されます。

0 投票する
6 に答える
16384 参照

javascript - 「setInterval」を介してパススコープを蹴る方法

私は現在、このスコープをパラメーター「e」を介してラムダ関数に渡し、次に call() メソッドを使用して「funkyFunction」に渡すよりも良い解決策があるかどうか疑問に思っています

(ちょっとした質問はさておき: javascript のメモリ リークについて読んでいました。ラムダ関数はメモリにどのように影響しますか?最初に定義してvar i = function(e)...から setInterval にパラメータとして渡す方がよいでしょうか?)