我有以下代码,它会每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>
答案 0 :(得分:0)
我认为你的突出显示代码只运行一次。您需要将突出显示代码放在一个函数中,并在每次有新数据突出显示时调用它。
答案 1 :(得分:0)
.....
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>