2017-09-23 38 views
0

所以我有这样的事情的Javascript上的div循环改变

if (document.getElementById('div_name') !== null) { 
    if (check_page('/final.php')){ 

check_page是basicaly这if (window.location.hash.indexOf(str) != -1) {

然后运行一些代码,我有,但只运行一次,我怎么能做出这么它在div_name内部发生变化时运行?导致页面内容发生变化,但不是网址。

我需要它来跑个不停,但我不知道该怎么做。

之前,我曾经有过工作,但这样的,但看起来有点废话,我想这样做,以便运行的代码会根据页面我在改变,然后继续运行:

$(document).ready(function loop() { 
    var rand = Math.floor(Math.random() * (4500-3500+1)+3500); 
    console.log(rand); 
    setTimeout(function() { 
      press(); 
      loop(); 
    }, rand); 
}); 
+0

如何做'div_name'里面的变化发生了吗? – Axel

+0

你知道什么改变了div中的内容吗?当你完成这个事件时你不能触发一个事件? – epascarello

+0

单击按钮时,脚本就是这样做的。 里面的代码就像一堆If,即搜索某些改变的单词。像: 'if($('#div_name(“name”)')。length){' 它会点击一个按钮,如果有另一个文本则点击另一个按钮。这已经完成了,我只是不知道如何不断重复,如果没有循环,并在循环内调用函数。我希望通过检测这些更改再次运行它。 –

回答

0

你需要的是一个按钮的事件。

$(document).on('click', '#yourButton', function(){ 
    /* Whatever your script does */ 
    if (document.getElementById('div_name') !== null) { 
     if (check_page('/final.php')){/* ... */} 
    } 

}); 

如果要监视#div_name本身,那么你需要将其更改为一个表单元素,像<input><textarea>,那么你就可以发现变化吧:

$(document).on('change', 'input#div_name', function(){ 
    /* Whatever your script does */ 
});