0

我有动态刷新 div 的网站。

来源:

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> 
    <script> 
    var auto_refresh = setInterval(
    function()
    {
    $('#loaddiv').fadeOut('slow').load('boo.php').fadeIn("slow");
    $('#loaddiv2').fadeOut('slow').load('boo2.php').fadeIn("slow");
    }, 1000);
    </script>

但只有当 boo.php 返回与实际 div 不同(更新)的值时,我才想要淡出和淡入。
如何比较新价值和实际价值并做到这一点?

Ps 抱歉英语不好,但我是波兰人

4

3 回答 3

1

您需要编写一个回调函数来检查返回的数据并将其与已存储在 div 中的数据进行比较。此外,显示/显示 div 的函数可能也需要移至回调函数。

文档可在此处获得。

于 2012-07-26T14:19:09.643 回答
0

您需要检查从 ajax 调用获得的结果,并将其与当前内容进行比较。假设您的 Ajax 响应和当前的 Div 标记中有一个带有 ID 的元素,MsgCount并且您正在使用它的值进行比较,下面的代码将起作用

$(function() {
   var auto_refresh = setInterval(function(){

       var currentMsgCount= $('#MsgCount').text();
       $.get("boo.php",function(data){
          var resultData=$(data);
          var newMsgCount= resultData.filter('#MsgCount').text();
          if(newMsgCount!=currentMsgCount)
          {
            //content is different. Let's show it
             $('#loaddiv').fadeOut('slow',function(){
              $('#loaddiv').html(data).fadeIn("slow");
            });
          }
       });       
   }, 1000);
});
于 2012-07-26T14:26:32.643 回答
0

您必须为 boo.php 编写一个 Ajax 函数并将结果与​​ div 的值进行比较

$.ajax(
{
    url: "boo.php",
    success: function(result) 
    {
        if($("#loaddiv").html() != result)
        {
            $("#loaddiv").fadeOut("slow")
            $("#loaddiv").html(result);
            $("#loaddiv").fadeIn("slow");
        }
    }
});
于 2012-07-26T14:30:01.097 回答