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
Post a Comment