用JS定时监视DIV里的内容是否发生变动 , 如果发生变动的话执行JS命令
页面代码如下:<scripttype='text/javascript'>functionnotifyMe(){xxxxxx}</script><divid="fresh...
页面代码如下 :
<script type='text/javascript'>
function notifyMe() {
xxxxxx
}
</script>
<div id="fresh">
<td>124234</td>
<td>dsfsdfd</td>
<td>234fdf</td>
</div>
页面状况 :
我的页面是HTML的 用的JS ,设置的是 每5秒自动刷新 ID为FRESH 的 DIV里 的内容 也就是说DIV里的内容每5秒变动一次
要求 :
我需要一段JS 或者其他非动态语言 能达到目的即可
来定时(比如说每5秒)监视ID为FRESH的DIV里的内容
如果DIV里某个TD的内容发生了变化 比如说第一个TD里的124234变成了321411 就执行HTML代码里的那个函数 notifyMe() 展开
<script type='text/javascript'>
function notifyMe() {
xxxxxx
}
</script>
<div id="fresh">
<td>124234</td>
<td>dsfsdfd</td>
<td>234fdf</td>
</div>
页面状况 :
我的页面是HTML的 用的JS ,设置的是 每5秒自动刷新 ID为FRESH 的 DIV里 的内容 也就是说DIV里的内容每5秒变动一次
要求 :
我需要一段JS 或者其他非动态语言 能达到目的即可
来定时(比如说每5秒)监视ID为FRESH的DIV里的内容
如果DIV里某个TD的内容发生了变化 比如说第一个TD里的124234变成了321411 就执行HTML代码里的那个函数 notifyMe() 展开
展开全部
你其实要的是数据双向绑定功能,现在的数据监听兼容性都不是很好,你可以换种思路
注:不应该在div中直接使用td,td必须包含在标准的table格式中,不过先按你的来
js:
function notifyMe(){
}
functino refresh(){
//假如这个是你获取td中数据的方法
var data = "一堆td";//假设这个是你的td,而且你使用了jquery
var html = $(data);//利用jquery来将字符串转成对象
html.each(function(){//遍历新数据
var index = $(this).index();//第几个td
var oldText = $("#fresh td:eq("+index+")").text();//之前第index个td中的内容
var newText = $(this).text();//新td中的内容
if(oldText != newText){//如果老的和新的不一样
notifyMe(oldText, newText);//notifyYou 我顺便吧老的新的text都传给你了
//return false; //如果你只想notify一遍,就把这个注释打开
}
});
//最后再把新的放到fresh的div里面
$("#fresh").html(data);
}
这样的话,在放到fresh之前就已经知道是否改变过了
追问
大哥 我的网页状况不太适合你说的那个绑定方法,不过以你的技术应该是能写出监视代码的
这样 我现在有个新想法
我设置了一个TD 这个TD的ID是“ jiance ”
231123
现在我就监视这1个TD 只要这个TD之间的数据发生了改变 就执行了 notifyMe()
你帮我写一下哈 呵呵 谢谢 分我也追加了 你写完立刻采纳
追答
好吧 不过我要告诉你这种实现方式不好,但是兼容性没问题,这叫脏检查机制
var old = null;
var td = $("#jiance");
setInterval(function(){
if(old === null){
old = td.text();
return;
}
var newtext = td.text();
if(old != newtext){
notifyMe(old, newtext);
}
},1000);
这样他会一秒钟检测一次,如果改变了的话就会通知你
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询