JS如何实现决策报表内报表块的刷新 刷新后当前报表块的初始化事件要能再次执行 现在通过定时刷行插件无法做到初始化事件再次执行 但是我这边有一个决策报表内报表块,可以实现刷新执行初始化事件,功能是定期刷新,判断指定值,并且播放声音提示。具体三段代码如下: 初始化后1 setTimeout(function() { //隐藏报表块report000的滚动条(此报表块名为report000,根据具体情况修改) $("div[widgetname=REPORT000]").find(".frozen-north")[0].style.overflow = "hidden"; $("div[widgetname=REPORT000]").find(".frozen-center")[0].style.overflow = "hidden"; }, 500); window.flag1 = true; var self1 = this; //鼠标悬停,滚动停止 setTimeout(function() { $("div[widgetname=REPORT000]").find(".frozen-center").mouseover(function() { window.flag1 = false; }); //鼠标离开,继续滚动 $("div[widgetname=REPORT000]").find(".frozen-center").mouseleave(function() { window.flag1 = true; }); var old = -1; var interval = setInterval(function() { if(!self1.isVisible()){ return; } if(window.flag1) { currentpos1 = $("div[widgetname=REPORT000]").find(".frozen-center")[0].scrollTop; if(currentpos1 == old) { $("div[widgetname=REPORT000]").find(".frozen-center")[0].scrollTop = 0; } else { old = currentpos1; //以35ms的速度每次滚动1.5PX $("div[widgetname=REPORT000]").find(".frozen-center")[0].scrollTop = currentpos1 + 1; } } }, 35); }, 1000); 初始化后2 var form = this.options.form; setInterval(function() { form.getWidgetByName("report000").gotoPage(1,"{}",true); }, 4000); 初始化后3 var form = this.options.form; setInterval(function() { var mm=0//设定预警值 var num=FR.remoteEvaluate("=report000~D4");//监测值 var $alramDiv; //判断报警提示alarmDiv是否存在,如果不存在,则初始化
if($("#alarmDiv").length>0){ $alramDiv=$("#alarmDiv"); } else{
$alramDiv=$('<div id="alarmDiv"></div>').appendTo($(document.body)); } //清空报警对象,防止多次刷新后造成多次播放 $alramDiv.empty(); //alert(num) if(num>=mm){
if(FR.Browser.isIE()){ //loop="-1"表示声音无限循环,可以指定数字来控制循环次数 $('<bgsound src="../../scripts/操作成功.mp3" loop="1">').appendTo($alramDiv); } else { //loop="true"表示声音无限循环,去掉则播放一次 $('<audio src="../../scripts/操作成功.mp3" type="audio/mp3" hidden="true" autoplay="true">' ).appendTo($alramDiv); }
}
}, 4000); //刷新报表块report000 |