Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Wyświetlanie okienek co sekunde - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript)
+--- Wątek: Wyświetlanie okienek co sekunde (/thread-wy%C5%9Bwietlanie-okienek-co-sekunde)



Wyświetlanie okienek co sekunde - michalszyd - 10-11-2012

Witam,
Mam wyświetlane okienko po wczytaniu strony.
W tym okienku chcę zrobić odliczanie czasu.
Zrobiłem już owe okienko, oraz odliczający czas.
Problem polega na tym, że po każdej sekundzie tworzy się nowe okienko, co uniemożliwia zamknięcia tego okienka.
Kod js:
Kod:
function happyhour(hh1, hh2, hh3, hh4, hh5, hh_timer, hh_p)
{
    var hh1; var hh2; var hh3; var hh4; var hh5; var hh_time = hh_timer; var hh_m; var hh_s;
    
        hh_m = Math.floor(hh_time / 60);
        hh_time -= hh_m * 60;
        if(hh_m < 10) {
            hh_m = '0' + hh_m;
        }
        hh_s = hh_time;
        if(hh_s < 10) {
            hh_s  = '0' + hh_s;
        }
        hh_show = hh_m + ':' + hh_s;
        hh_timer --;
        setTimeout("happyhour('" + hh1 + "', '" + hh2 + "', '" + hh3 + "', '" + hh4 + "', '" + hh5 + "', '" + hh_timer + "', '" + hh_p + "')", 1000);
    var char = '<div class="hh1"><img src="img/hapyhour.png" alt="Happy Hour" width="300" height="41" /></div><div class="hh2">' + hh1 + '!</div><div class="hh">' + hh2 + ' ' + hh_p + '% ' + hh3 + '.</div><div class="hh2">' + hh4 + '!</div><div class="hh3">' + hh5 + '</div><div class="hh4">' + hh_show + '</div>'
    $.prompt(char,{ opacity: 0.7 });
}
W jaki sposób można to rozwiązać?


RE: Wyświetlanie okienek co sekunde - camelrafal - 13-11-2012

nie rozumiem o co ci chodzi

jeżeli chcesz odliczanie czasu to skorzystaj z setInterval() i np zmieniaj jakiś div #czas

Kod:
function zmien_czas(){
var jakis_tam_czas= tutaj sobie wprowadz jakies obliczenia
$('#czas').text(jakis_tam_czas);
}
setInterval(zmien_czas,1000);



RE: Wyświetlanie okienek co sekunde - andrzejhi - 14-11-2012

promptem tego nie zrobisz. on za każdym wywołaniem metody wyświetla nowe okno. Ja nie znam metody aby edytować zawartość wyświetlonego okienka.
Radziłbym aby albo zrobić to w div z pozycjonowaniem absolutnym i sprawdzać czy ten div jest wyświetlony.
Można również wymusić otwarcie nowego okna przeglądarki ustawić jego wielkość i pozycję a potem w tym oknie odpalić skrypt wyświetlający czas. Nie będziesz miał również kontroli nad tym czy to okienko jest wyświetlone ale nie będą się wyświetlać kolejne okna.