It appears you have not yet registered with DEVPPL. To register please click here... (it's fast, easy and free!)

Forum

Log In Sponsors
Board index Programming JavaScript Forum

CANCELLING a setTimeout() Function

CANCELLING a setTimeout() Function

Postby MT_MANC on Mon Mar 09, 2009 1:35 pm

I currently "animate" a Flash data chart using suceesive XML data update/overwrite functions using a Javascript TimeOut function

Code: Select all
function updatechart1Id_a(DOMId){ var chartObj = getChartFromId("chart1Id"); chartObj.setDataURL("../Data/NewData0.xml");           }
function updatechart1Id_b(DOMId){ var chartObj = getChartFromId("chart1Id"); chartObj.setDataURL("../Data/NewData1.xml");           }
function updatechart1Id_c(DOMId){ var chartObj = getChartFromId("chart1Id"); chartObj.setDataURL("../Data/NewData2.xml");           }
function updatechart1Id_d(DOMId){ var chartObj = getChartFromId("chart1Id"); chartObj.setDataURL("../Data/NewData3.xml");           }
function updatechart1Id_e(DOMId){ var chartObj = getChartFromId("chart1Id"); chartObj.setDataURL("../Data/NewData4.xml");           }
function updatechart1Id_f(DOMId){ var chartObj = getChartFromId("chart1Id"); chartObj.setDataURL("../Data/NewData5.xml");           }
function updatechart1Id_g(DOMId){ var chartObj = getChartFromId("chart1Id"); chartObj.setDataURL("../Data/NewData6.xml");           }

This sequentially updates the chart data via the "animation" function below using setTimeout (via OnLoad event) :



Code: Select all
var AnDelay = 4000 ;
var Start = 250 ;
var Delay = 500 ;
var AnDelay_chart1Id = AnDelay ;

function Animate_chart1Id() {
setTimeout("javaScript:updatechart1Id_b();", Start);
setTimeout("javaScript:updatechart1Id_c();", Start+(Delay*1)); setTimeout("javaScript:updatechart1Id_d();", Start+(Delay*2));
setTimeout("javaScript:updatechart1Id_e();", Start+(Delay*3)); setTimeout("javaScript:updatechart1Id_f();", Start+(Delay*4));
setTimeout("javaScript:updatechart1Id_g();", Start+(Delay*5));
setTimeout("javaScript:Animate_chart1Id();;", AnDelay_chart1Id);
}

My Question - How can I contruct a technique/function to fully STOP the Animate_chart1Id() and leave the chart showing the final frame (NewData6.xml data) ie I want to "freeze" the chart animation on the last update function "updatechart1Id_g()" The ability to then restart the animation with another function would be a bonus!
My coding efforts only succeed in temporarily "freezing" the chart (by invoking updatechart1Id_g() ) before the animation cycle resumes seconds later!!

Any pointers/help appreciated
MT_MANC
 
Posts: 5
Joined: Mon Mar 31, 2008 8:11 pm

Who is online

Users browsing this forum: No registered users and 6 guests