javascript - How to make a timeout between function calls? -


my code works fine, except opens links @ same time. use delay.

this opens (more 1 function "open") @ same time:

waitforkeyelements ("input.submit[onclick*='open']", clickopenbtn); 

but want delay between each function call (clickopenbtn).

my complete code snippet:

settimeout(checkforzero, 30000); // or call checkforzero() if don't need defer until processing complete function checkforzero() {     waitforkeyelements ("input.submit[onclick*='open']", clickopenbtn);     settimeout(checkforzero, 30000); }  function clickopenbtn (jnode) {     triggermouseevent (jnode[0], "click"); }  function triggermouseevent (node, eventtype) {     var clickevent = document.createevent ('mouseevents');     clickevent.initevent (eventtype, true, true);     node.dispatchevent (clickevent); } 


can do?

in case, push nodes fifo queue , use setinterval, not settimeout work queue. code becomes:

var nodestoclick = []; //-- array hold fifo queue.  waitforkeyelements ("input.submit[onclick*='open']", loadnodequeue);  function loadnodequeue (jnode) {     nodestoclick.push (jnode[0]);   //-- add end }  var nodeclkinterval = setinterval (worknodequeue, 30000);  function worknodequeue () {     if (nodestoclick.length) {         var node = nodestoclick.shift (); //-- remove beginning         triggermouseevent (node, "click");     } }  function triggermouseevent (node, eventtype) {     var clickevent = document.createevent ('mouseevents');     clickevent.initevent (eventtype, true, true);     node.dispatchevent (clickevent); } 

Comments

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

java - Copying object fields -

c++ - Clear the memory after returning a vector in a function -