如何在div标签刷新功能中保留块文本?

时间:2012-08-12 10:26:21

标签: php jquery

我有一个页面,该功能是刷新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这样的例子发布了实时更新。

1 个答案:

答案 0 :(得分:0)

当你再次将鼠标移出setInterval时,你想要将你的间隔分配给一个变量,当用户将鼠标悬停在你的DIV上然后使用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>