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

question-closed Implementacja licznika w JS

Cloud VPS
0 głosów
1,340 wizyt
pytanie zadane 12 listopada 2016 w JavaScript przez Dominik Kapek Nowicjusz (240 p.)
zamknięte 12 listopada 2016 przez Dominik Kapek

Witam, mam problem z JS:

function licznik(){
	document.getElementById("js").innerHTML='<input type="text" id="liczba1" />' + '  Podaj liczbe, od ktorej mam zaczac liczyc';
    document.getElementById("formularz").innerHTML='<input type="text" id="liczba2" />' + '  Podaj liczbe, na ktorej mam skonczyc';
    document.getElementById("potwierdz").innerHTML='<input type="submit" value="wartość" onclick="odlicz()"/>';
}
function odlicz(){
var liczba1 = document.getElementById("liczba1").value/1;
var liczba2 = document.getElementById("liczba2").value/1;
var start = liczba1;
var koniec = liczba2;
for (var i = start;i<=koniec;i++){
start++
document.getElementById("wynik").innerHTML='<div class="nwm">' + start+'</div> <br />';
}
}

Skrypt ma wyglądać następująco - uzytkownik kilka przycisk na stronie, podaje dwie liczby i program odlicza od pewnej liczby do drugiej liczby. Problem jest taki że za każdym wykonaniem pętli zawartość diva się nadpisuje, w jaki sposób mogę rozwiązać ten problem?

 

komentarz zamknięcia: Rozwiązane

1 odpowiedź

0 głosów
odpowiedź 12 listopada 2016 przez niezalogowany
wybrane 12 listopada 2016 przez Dominik Kapek
 
Najlepsza
  1. Pobierz tekst z wyniku
  2. Doklej na jego końcu kolejną liczbę
  3. Uaktualnij wynik
komentarz 12 listopada 2016 przez Dominik Kapek Nowicjusz (240 p.)

Możesz mi wyjaśnić, jak zamknąć to doklejanie w pętli for? 

var liczba1 = document.getElementById("liczba1").value/1;
var liczba2 = document.getElementById("liczba2").value/1;
for (var i = liczba1;i<=liczba2;i++){
	var kappa = liczba1+1;
var liczba = liczba1 + ' '+ kappa;
document.getElementById("wynik").innerHTML=liczba;

To działa, tylko nie mam pojęcia w jaki sposób mam podoklejać więcej liczb, póki co wyświetlaja sie 2,

 

komentarz 12 listopada 2016 przez niezalogowany

Na początek trochę bardziej przejrzysty ten kod wypadałoby uczynić, wrzuć element z id wynik do zmiennej

var wynik = document.getElementById("wynik");

Dalej w pętli for, pobierasz to co jest w wynik

var nowyWynik = wynik.textContent;

Doklejasz kolejną liczbę

nowyWynik = nowyWynik + "  " + kolejnaLiczba;
// lub krócej 
nowyWynik += "  " + kolejnaLiczba;

I zapisujesz zmienną text do wynik

wynik.textContent = nowyWynik;

 

Pokombinuj trochę żeby pozbyć się z tej implementacji zmiennej na nowy wynik - pozwoli to skrócić kod do jednej linijki, i nadal będzie on czytelny.

komentarz 12 listopada 2016 przez Kfiotek Początkujący (370 p.)

Problem polega na tym, ze do diva chciałeś wpisywać bezpośrednia wynik z pętli w ten sposób z każdym przejściem pętli for nadpisując go.

Działający, prosty skrypt do tego moze wyglądać tak: 

 <script type="text/javascript">
        function odlicz(){
        var liczba1 = document.getElementById("liczba1").value;
        var liczba2 = document.getElementById("liczba2").value;
        var licznik = "";

        for (i = liczba1;i<=liczba2;i++){
        licznik=licznik+i+" ";
        document.getElementById("wynik").innerHTML=licznik;
        }
      }
        </script>



 

komentarz 12 listopada 2016 przez Dominik Kapek Nowicjusz (240 p.)
Dziękuję za pomoc.

Pozdrawiam

Podobne pytania

0 głosów
2 odpowiedzi 761 wizyt
0 głosów
0 odpowiedzi 146 wizyt
pytanie zadane 19 listopada 2023 w C i C++ przez Kamil bachan Nowicjusz (120 p.)
0 głosów
1 odpowiedź 533 wizyt
pytanie zadane 5 grudnia 2023 w PHP przez niezalogowany

93,485 zapytań

142,417 odpowiedzi

322,767 komentarzy

62,898 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

Kursy INF.02 i INF.03
...