繁体   English   中英

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

[英]Javascript - Reloading page breaks my conditional formatting

我有以下代码,它们每60秒刷新一次Web部件,并且效果很好。 我的问题是,在刷新代码之上,我还有一个脚本,该脚本将突出显示我的数据的某些部分,并且一旦刷新开始,它就会破坏我的脚本。 将会发生的是,我加载了页面,并且可以看到我的脚本在突出显示我的数据时完成了它的工作,一分钟后,突出显示消失了,只剩下数据了。 我删除了刷新代码,并确认此后脚本保持完整。

重新加载代码:

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

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

如果您再次加载相同的内容,请在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]);
     .....
}

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM