0

我想检测网页的特定部分何时发生变化并在发生时刷新页面。这可能吗?例如,假设在页面的左上角有一个大约 50 x 50 像素的绿色绝对定位元素 - 我希望页面在变为红色时刷新。

基本上我正在尝试构建的是一个网站的覆盖,它将检测何时弹出通知并自动刷新页面。如果有其他方法比我想出的更好,请我对任何事情持开放态度。

4

2 回答 2

0

您可以使用它来检查每一秒:

function hasChanged(hasItChanged)
{
 //your code, eg

 if(hasItChanged) alert("yep");
 else alert("nope");

}

function check(){
  if($("element").css("background-color") == "rgb(255, 0, 0)")
    hasChanged(true);

  else
    hasChanged(false);
}

setInterval(check, 1000); //check every second (1000 miliseconds)

只需将if($("element").css("background-color") == "rgb(255, 0, 0)")行更改为您发现更改的一些 CSS(并且显然将 更改为$("element")您想要的选择器)。

编辑:我发现你必须使用 RGB 才能工作,就颜色而言。但是你总是可以$("element").css("background-color")在浏览器的控制台中输入内容,看看它给了你什么。也许您需要一个 or 声明来支持跨浏览器,尽管我认为至少在现代浏览器中这不是必需的。

于 2012-09-29T22:31:46.200 回答
0

你可以使用:

$(element).on('DOMAttrModified', function() {
    //code
});

不确定这是否是标准的。

于 2012-09-29T21:37:14.830 回答