0

ページを更新する setIntreval を終了しようとしています。しかし、 cleareIntreval() は機能しません。

私は持っている

 $chatInterval = setInterval(function(){
$.post('user/home/show_conversation.php',{ f_id : userID},function(ajaxCevap){

        $('#chatbox').html(ajaxCevap);
        $('#chatbox').scrollTop = $('#chatbox').scrollHeight;

    });

},10000);

そして、私が使用するボタンをクリックする clearInterval($chatInterval); と、 $chatInterval が定義されていないと言われています。はいそれらは異なる関数スコープにあります。共通変数setIntervalを宣言するにはどうすればよいですか?

4

2 に答える 2

1

そこにタイプミスがあり、作成した変数が$chatInterval呼び出し元の場所のスコープ内にあることを確認してくださいclearInterval()

clearInterval($chatInterval);

両方にアクセス可能なスコープで変数を宣言する必要がある場合は、トップレベルで宣言するか.data()、jQuery のメソッドを使用してどこかの要素に格納します: http://api.jquery.com/data/

于 2010-11-24T19:23:52.410 に答える
0

$要素を削除して解決しました

    chatInterval = setInterval(function(){
$.post('user/home/show_conversation.php',{ f_id : userID},function(ajaxCevap){

        $('#chatbox').html(ajaxCevap);
        $('#chatbox').scrollTop = $('#chatbox').scrollHeight;

    });

},10000);

これで、任意の関数で呼び出すことができます。

于 2010-12-01T08:11:11.843 に答える