今天在做一个页面的报表的时候,需要在报表内容改变后屏蔽掉页面上的一些选择框。
因为这个报表是自身的链接实现的改变,我只能读取到history改变了,基于这个来判断
我写了一个判断条件,然后将他放在了一个定时器里面执行,相当于是一个监听器吧
//定时器监听history的改变 var timer =null; timer=setInterval(function(){ if(history.length != historyNum){ //屏蔽掉月份单位选择框,查看按钮变成返回按钮。 $("#selectBoxHibbenOrShow").hide(); $("#viewLogOrBack").text("返回"); //关闭定时器 clearInterval(timer); } },100);
上述代码中的clearInterval(timer);就是关闭定时器的方法;
然后又出现了一个问题,当我返回这个页面的时候还需要这个定时器跑起来,我查了一下,没找到开启定时器的方法,
不过有一个前辈重新写了一遍同名的定时器,这样也实现了重新开启的方法,我照着写了一个,还是很好使的。
实现了功能。
//判断当前的按钮是查看还是返回,如果是返回,就先改变成查看,然后打开监听history改变的定时器,显示月份单位的选择框 var buttonText = $("#viewLogOrBack").text(); if(buttonText=="返回"){ $("#viewLogOrBack").text("查看"); $("#selectBoxHibbenOrShow").show(); //开启定时器 timer=setInterval(function(){ if(history.length != historyNum){ //屏蔽掉月份单位选择框,查看按钮变成返回按钮。 $("#selectBoxHibbenOrShow").hide(); $("#viewLogOrBack").text("返回"); clearInterval(timer); } },100); }