0

以下のようなコードがあります:

$(document).ready(function() {
    $("#content2").load("post_rf.php");
    // set your initial interval to kick it off
    var refreshInterval = setInterval(function() {
        $("#content2").load('post_rf.php?randval='+ Math.random());
    }, 1500);
    // bind an event to mouseout of your DIV to kickstart the interval again
    $("#content2").bind("mouseout", function() {
        refreshInterval = setInterval(function() {
            $("#content2").load('post_rf.php?randval='+ Math.random());
        }, 1500);
    });
    // clear the interval on mouseover of your DIV to stop the refresh
    $("#content2").bind("mouseover", function() {
        clearInterval(refreshInterval);
    });
    $.ajaxSetup({
        cache: false
    });
});

私がやりたいのはmouseover、データが自動更新されるときです。この場合、マウスを の領域にドラッグすると、 の領域mouseoverをドラッグするまで自動更新が停止します。mouseoutmouseover

onmouseoverデータが自動更新されるように設定することはできますか?

4

2 に答える 2

1

私はあなたが望んでいることは逆だと思います、

    $("#content2").bind("mouseover", function() {
        refreshInterval = setInterval(function() {
            $("#content2").load('post_rf.php?randval='+ Math.random());
        }, 1500);
    });
    // clear the interval on mouseover of your DIV to stop the refresh
    $("#content2").bind("mouseout", function() {
        clearInterval(refreshInterval);
    });
于 2012-08-15T07:37:31.780 に答える
0

私はあなたの質問について少し混乱しています.次のコードは、あなたがmouseover

$("#content2").bind("mouseover", function() {
    clearInterval(refreshInterval); // it's clearing the setInterval
});

行または関数全体を削除/無効にするだけでは、その要素にマウスを移動しても自動更新は停止しません。

ただし、自動更新のみを実行したいだけでmouseover、自動更新を停止したいmouseout場合は、次のように実行できます

$("#content2").bind("mouseover", function() {
    refreshInterval = setInterval(function() {
        $("#content2").load('post_rf.php?randval='+ Math.random());
    }, 1500);
});

$("#content2").bind("mouseout", function() {
    clearInterval(refreshInterval);
});

次のコードを使用して最初に自動更新を開始しないでください。次のようにコードを無効にしてください。

/*
var refreshInterval = setInterval(function() {
    $("#content2").load('post_rf.php?randval='+ Math.random());
}, 1500);
*/

ただし、宣言された変数をそのままにしておくことができますvar refreshInterval=0;

于 2012-08-15T07:37:58.370 に答える