0

関数がdivタグを更新するページがあります。Divタグ機能は、データが受信する更新です。

これまでのところ、それは大丈夫です。

マウスを使用してテキストをブロックすると、タイミング「20000」に基づいてブロックテキストがクリアされます。これはJSスクリプト関数の下にあります。

<script src='js/jquery.min.js'></script>
<script>
    $(document).ready(function()
    {
        $("#content2").load("post_rf.php");
        var refreshId = setInterval(function()
        {
            $("#content2").load('post_rf.php?randval='+ Math.random());
        }, 20000);
        $.ajaxSetup({ cache: false });
    });
    </script>

私がやりたいのは、div更新機能でブロックテキストを保持する方法ですか?一部のユーザーはテキストをコピーしたいと思うかもしれないからです。この場合、ユーザーはdivを更新する前にテキストをすばやくコピーする必要があります。

たぶん、Facebookの投稿のライブアップデートのような例です。

4

1 に答える 1

0

ユーザーがDIVの上にマウスを置いたときに間隔を変数に割り当て、次にsetIntervalを再びマウスアウトしたときにclearIntervalを使用します。

var interval;

$(div).bind("mouseout", function() {
    interval = setInterval(refresh, 1000);
});

$(div).bind("mouseover", function() {
    clearInterval(interval);
});

編集

申し訳ありませんが、それを電話に投稿しましたが、そのようにコードを書くのは難しいので、これを試してください:

<script src='js/jquery.min.js'></script>
<script>
    $(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());
        }, 20000);

        // 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());
            }, 20000);
        });

        // clear the interval on mouseover of your DIV to stop the refresh
        $("#content2").bind("mouseover", function() {
            clearInterval(refreshInterval);
        });

        $.ajaxSetup({ cache: false });
    });
</script>
于 2012-08-12T10:29:07.880 に答える