var refresher = null; var refresh_sec = 15; var refresh_count = 0; var stopped = null; $(document).ready(function() { refresher = setInterval(count_down, 1000); }); // cyklus autorefreshu function ajax_get_current_conditions() { console.log ('start loading'); // skryje countdown a zobrazi loading $('#refresh-countdown').hide(); $('#refresh-status-loading').show(); // volanie pre nove data $.get('https://emeteo.sk/emeteo/station/ajax_actual_weather/pukanec', function(data, status){ if (status == 'success') { var cc = JSON.parse(data); // vpisovanie najnovsich udajov s kratkodobou zmenou farby na zvyraznenie zmeny udajov pri autorefreshi $('#last-connect').html(cc.last_connect_formated); $('#temperature').html(cc.temperature); $('#avg-temperature').html(cc.avg_temperature); $('#dew-point').html(cc.dew_point); $('#humidity').html(cc.humidity); $('#avg-humidity').html(cc.avg_humidity); $('#pressure').html(cc.pressure); $('#avg-pressure').html(cc.avg_pressure); $('#wind-speed').html(cc.wind_speed); $('#wind-gust').html(cc.wind_gust); $('#wind-direction-icon').html(cc.wind_direction_icon); $('#wind-direction-name').html(cc.wind_direction_name); $('#data-rain-last-hour').html(cc.data_rain_last_hour); $('#data-rain-this-day').html(cc.data_rain_this_day); $('#data-cloud-base').html(cc.data_cloud_base); $('#data-cloud-temperature').html(cc.data_cloud_temperature); $('#data-above-5-temperature').html(cc.data_above_5_temperature_value); $('#data-above-2m-temperature').html(cc.data_temperature_value); $('#temperature-under-10').html(cc.temperature_under_10); $('#temperature-under-20').html(cc.temperature_under_20); $('#temperature-under-50').html(cc.temperature_under_50); $('#temperature-under-100').html(cc.temperature_under_100); $('#solar-radiation').html(cc.solar_radiation); $('#avg-solar-radiation').html(cc.avg_solar_radiation); $('#uv').html(cc.uv); /* $.each(cc.data_webcams, function(mw_id, url) { console.log(mw_id); console.log(url); $('#webcam-preview-'+mw_id).attr('src', url); }); */ //refresh_sec = 15; // zobrazi countdown a skryje loading $('#refresh-countdown').show(); $('#refresh-status-loading').hide(); // spusti dalsi cyklus autorefreshu //refresher = setInterval(ajax_get_current_conditions, 1000); //refresh_count++; // povoleny pocet autorefreshov, ak je dosiahnuty, autorefresh sa zastavi a zobrazi sa hlaska /* if (refresh_count > ) { clearInterval(refresher); stopped = true; $('#refresh-status-autopaused').show(); $('#autorefresh-toggle').html('zapnúť'); } */ } }) .done(function() { refresher = setInterval(count_down, 1000); $('.text-current-conditions-update').addClass( 'text-actual-weather-updated', 1000, function () { $(this).removeClass( 'text-actual-weather-updated', 5000); }); }); } function count_down() { // ak este nevyprsal cas, odpocita sekundy if (refresh_sec > 0) { refresh_sec--; } // ak vyprsi odpocitavania, zavola sa ajaxove volanie na ziskanie novych udajov, vpise ich do stranky a spusti cyklus odpocitavaia znova if (refresh_sec == 0) { clearInterval(refresher); delete refresher; refresh_sec = 15; ajax_get_current_conditions(); } // zapis poctu sekund do najblizsieho refreshu $('#refresh-countdown-s').html(refresh_sec); } // autorefresh toggle buttonu function ajax_autorefresh_toggle() { // skrytie oznamu o pozastaveni autorefreshu refresh_count = 0; $('#refresh-status-autopaused').hide(); // toggle autorefreshu if (typeof stopped == 'undefined' || stopped == null) { clearInterval(refresher); stopped = true; $('#autorefresh-toggle').html('zapnúť'); } else if (stopped) { refresher = setInterval(count_down, 1000); stopped = null; $('#autorefresh-toggle').html('vypnúť'); refresh_sec = 15; // zapis poctu sekund do najblizsieho refreshu $('#refresh-countdown-s').html(refresh_sec); } }