Javascript - 重新加载页面会破坏我的条件格式

时间:2015-04-24 10:56:30

标签: javascript jquery html ajax

我有以下代码,它会每60秒刷新一次我的网页部分并且工作得很好。我遇到的问题是,除了刷新代码之外,我还有一个脚本,它会突出显示我数据的某些部分,并且一旦刷新它就会破坏我的脚本。会发生什么是我加载页面,我可以看到我的脚本正在做我的突出显示我的数据,一分钟后,亮点消失了,只留下我的数据。我删除了刷新代码并确认我的脚本在之后保持不变。

重新加载代码:

<script type="text/javascript">
function reload() {
$.ajax({
   async: false,
   cache:false,
   url: "http://ensemble-mtl.ent.cginet/sites/SERVIPCManagement/imc/Shared%20Documents/Whiteboard/Whiteboard.aspx",
   complete: function (xData, Status) {
    var DVWPMarkup = $(xData.responseText).find("#reload_me").html();
    $("#reload_me").html(DVWPMarkup);
    }
});
}

$(document).ready(function(){ 
reload();
var auto_refresh = setInterval(function(){reload();}, 60000); 

});
</script>

突出显示代码:

<script language="javascript" type="text/javascript">
$('.IM_last_modified').each(function () {
    var dtSt = $(this).html().split(" ");
    var dtAr = dtSt[0].split("/");
    var when = new Date(dtAr[1] + "/" + dtAr[0] + "/" + dtAr[2] + " " + dtSt[1]);
    console.log(when);    
    var now = Date.now();

    if (now - when > 3600000) {
        $(this).addClass('min60');
    } else if (now - when > 1800000) {
        $(this).addClass('min30');
    } else if (now - when > 1000) {
        $(this).addClass('min1');
    } 

});
</script>

3 个答案:

答案 0 :(得分:0)

我认为你的突出显示代码只运行一次。您需要将突出显示代码放在一个函数中,并在每次有新数据突出显示时调用它。

答案 1 :(得分:0)

如果要再次加载相同的内容,请在ajax回调函数内调用“突出显示代码”。我的假设是突出部分正在取代ajax内容。

.....
complete: function (xData, Status) {
    var DVWPMarkup = $(xData.responseText).find("#reload_me").html();
    $("#reload_me").html(DVWPMarkup);
    hightlightcode();  //make sure to change the highlight code to a function
}

function highlightcode()
{
   $('.IM_last_modified').each(function () {
     var dtSt = $(this).html().split(" ");
     var dtAr = dtSt[0].split("/");
     var when = new Date(dtAr[1] + "/" + dtAr[0] + "/" + dtAr[2] + " " + dtSt[1]);
     .....
}

答案 2 :(得分:0)

这是最终为我工作的脚本,感谢大家的快速帮助。

<script type="text/javascript">
function reload() {
    $.ajax({
        async: false,
        cache:false,
        url: "http://ensemble-mtl.ent.cginet/sites/SERVIPCManagement/imc/Shared%20Documents/Whiteboard/Whiteboard.aspx",
        complete: function (xData, Status) {
        var DVWPMarkup = $(xData.responseText).find("#reload_me").html();
        $("#reload_me").html(DVWPMarkup);
        highlightcode_IM();
        }
        });
        }

function highlightcode_IM()
{

$('.IM_last_modified').each(function () {
    var dtSt = $(this).html().split(" ");
    var dtAr = dtSt[0].split("/");
    var when = new Date(dtAr[1] + "/" + dtAr[0] + "/" + dtAr[2] + " " + dtSt[1]);
    console.log(when);    
    var now = Date.now();

    if (now - when > 3600000) {
        $(this).addClass('min60');
    } else if (now - when > 1800000) {
        $(this).addClass('min30');
    } else if (now - when > 1000) {
        $(this).addClass('min1');
    } 

});

}
$(document).ready(function(){ 
reload();

var auto_refresh = setInterval(function(){reload();}, 6000); 
});
</script>