- Note: Use setTimeout to avoid Error Call Stack Size Exceeded
- JavaScript Code:
cPanel.scheduleMapsSliderStatus = function (rc, func) { var runCount = rc; var funcName = 'scheduleMapsSliderStatus()'; var logHeader = myControlPanel.getLogHeaderCF(funcName, func); var slideShowStatusSummaryField = myObjects.getPanel("slideShowStatusSummaryField"); var bgColor = slideShowStatusSummaryField.css('background-color'); var fgColor = slideShowStatusSummaryField.css('color'); function MapsSliderStatusClosure() { var mesgFlag = runCount % 2; var panelMode = myControlPanel.getPanelMode(funcName); var slideShowStatusSummaryField = null; if (mesgFlag === 0) { updateSliderStatus("Click on PLAY button to start Animation! "); // Need to reread slideShowStatusSummaryField Objects as this is recreated by updateSliderStatus() slideShowStatusSummaryField = myObjects.getPanel("slideShowStatusSummaryField"); slideShowStatusSummaryField.css('background-color', bgColor); } else { updateSliderStatus("Click on GREEN Marker to start Slideshow !"); // Need to reread slideShowStatusSummaryField Objects as this is recreated by updateSliderStatus() slideShowStatusSummaryField = myObjects.getPanel("slideShowStatusSummaryField"); slideShowStatusSummaryField.css('background-color', 'green'); } if (runCount === 10 ) { // run this Animation ONLY 10x return; } if (panelMode === "maps") { // Don't schedule again if panelMode !='maps' runCount++; setTimeout(MapsSliderStatusClosure, 2000, runCount, funcName) } }; MapsSliderStatusClosure(); // Just all the closure function a first time };