var shallStop = false; function a() { if (!shallStop) setTimeout('b()', 100); } function b() { if (!shallStop) setTimeout('a()', 100); } function stop() { shallStop = true; } a(); setTimeout('stop()', 2000);