• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Countdown JS

VPS Starter Arubacloud
0 głosów
225 wizyt
pytanie zadane 31 marca 2018 w JavaScript przez KrosFire Nowicjusz (210 p.)

Witam!

Stworzyłem timer, który odlicza czas pozostały do wakacji tego roku. Chcę go jednak rozwinąć w taki sposób aby po zakończeniu się wakacji, timer automatycznie się resetował i nastawiał na następny rok. Stworzyłem więc zmienną z datą rozpoczęcia roku szkolnego. Za pomocą if'a napisałem warunek, że jeśli dzisiejsza data będzie równa tamtej, zmienna deadline, w której zapisana jest data rozpoczęcia wakacji, doliczy sobie rok. Niestety nic nie działa.

Proszę o pomoc, w wymyśleniem innego sposobu, lub poprawienia mojego kodu. 

KOD:


function countdown(){
    //******************* Ważne! ******************
    var now = new Date();
    var deadline = new Date("Jun 22, 2018 00:00:00");
    

    var dzien = now.getDate();
    var mies = now.getMonth() + 1;
    var rok = now.getFullYear();
    
    
    var crash = new Date("Sep 01, "+ rok +" 00:00:00");
    if(now === crash){
        
        var nextHoliday = rok +1;
        deadline.setFullYear(nextHoliday);
    }
    
    var distance = deadline - now;
    
    //**************** Ważne! *************** 
    
    
    
    
    
    
    
    

    
    if( dzien < 10){
        dzien = "0" + dzien;
    }
    
    if( mies < 10){
        mies = "0" + mies;
    }
    
    document.getElementById("now").innerHTML = dzien + "." + mies + "." + rok;
    
    

    
    
    
    var dDay = deadline.getDate();
    var dMonth = deadline.getMonth() + 1;
    var dYear = deadline.getFullYear();
    

    
    if( dDay < 10){
        dDay = "0" + dDay;
    }
    
    if( dMonth < 10){
        dMonth = "0" + dMonth;
    }
    
    
    document.getElementById("end").innerHTML = dDay + "." + dMonth + "." + dYear;
    
    var s = Math.floor( distance / 1000);
    var m = Math.floor(s / 60);
    var h = Math.floor(m / 60);
    var d = Math.floor(h / 24);
    var w = Math.floor(d / 7);
    
    h %= 24;
    m %= 60;
    s %= 60;
    


    if( d < 10){
        d = "0" + d;
    }
    
    if( h < 10){
        h = "0" + h;
        
    }
    
    if( m < 10)
        {
            m = "0" + m;
        }
    
    if( s < 10){
        s = "0" + s;
    }
    // Display the result in the element with id="demo"
    document.getElementById("timer").innerHTML = d + ": " + h + ": " + m + ": " + s;
    document.getElementById("week").innerHTML = w + " - mondays left";

    // If the count down is finished, write some text 
    if (distance < 0) {
        document.getElementById("timer").innerHTML = "Goodby School!";
        document.getElementById("week").innerHTML = "";
        
        
    }
    
    
    setTimeout(countdown, 1000);
};

countdown();

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 185 wizyt
pytanie zadane 28 grudnia 2018 w JavaScript przez Whereismycode Obywatel (1,710 p.)
0 głosów
1 odpowiedź 166 wizyt
pytanie zadane 3 maja 2016 w JavaScript przez Mr.Qwertly Nowicjusz (220 p.)
0 głosów
2 odpowiedzi 340 wizyt
pytanie zadane 7 sierpnia 2018 w JavaScript przez moment Początkujący (260 p.)

93,078 zapytań

142,042 odpowiedzi

321,446 komentarzy

62,423 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...