0

我正在开发一个评论系统,我用 jQuery 做得很好,我有一个问题。我让它每 2000 毫秒(2 秒)获取一次数据库内容。这就是问题所在,当用户单击“报告评论”时,会显示另一个带有消息的 div,但 2 秒后它会消失,我假设这是因为 setInterval 正在刷新内容。

但这是我所做的。

注意:我将这部分代码放在 PHP 的 while() 函数中,因此它与所有其他注释一起循环,并且我为它们分配了一个唯一 ID。

<script type="test/javascript">
    $("#<?= $lc['uniqueid']; ?>").click(function() {
        $("#report<?= $lc['uniqueid']; ?>").fadeIn();
    });
</script>

这是刷新内容分机的脚本,(顺便说一下,它在我的网页底部)

setInterval(function() {
    $.get('serverinfo.php?showcomments=<?= $id; ?>', function(data) {
        $('#showcomments').html(data);
    });
}, 2000);

因此,如果有人知道如何忽略用户单击要删除的报告时显示的 div,我将不胜感激!谢谢你。

4

1 回答 1

0

一个可能的解决方案是有条件地更新您的内容。即,当用户单击“报告评论”时添加一行

$('#showcomments').addClass("comment-active");

然后使您的更新有条件:

setInterval(function () {
    $.get('serverinfo.php?showcomments=<?= $id; ?>', function (data) {

        if (!$('#showcomments').hasClass("comment-active")) {
            $('#showcomments').html(data);
        }

    });
}, 2000);

当然,要添加,请在关闭报告评论时删除该类。

$('#showcomments').removeClass("comment-active");
于 2013-05-07T20:00:53.450 回答