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 上时,然后使用 clearInterval,当鼠标再次移出 setInterval 时。

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 回答