Zmiana parametru onclick, problem ze zmienną

Odpowiedz Nowy wątek
2019-03-09 10:49
0

Siemanko,
Chcę zrobić przycisk, <input type="button" id="lewaopcja" value="test" onclick="test(x)">
funkcja test ma między innymi zmieniać wartość zmiennej x, tak by po kliknięciu w button zmienił się jego value i onclick wczytał zmienną do parametru. Jednak po kliknięciu przycisku funkcja wczytuje jakby ostatnią wartość liczby x i value od razu ="test4", a treść tekstu jest w zasadzie wybierana losowo między dostępnymi wartościami dla x.
Jestem dosyć początkującą osobą, dlatego proszę o pomoc w uporaniu się z tym problemem. Chcę, by po kliknięciu onclick=test(1) zmieniło się value na "testx2" i onclick na test(2), później dopiero po kolejnym kliknięciu na value="testx3" onclick=test(3).
kod js

var typed = new Typed('.tekst', {
    strings: ["", "Lorem Ipsum jest tekstem stosowanym jako przykładowy wypełniacz w przemyśle poligraficznym."],
    typeSpeed: 0.1

  });

var x = 1;

 function test(x){

    if(x==1){
    var typed = new Typed('.tekst', {
        strings: ["", " tekst x1 "],
        typeSpeed: 30

      });
      x=2;

      console.log(x);
      document.getElementById('lewaopcja').value = 'test'+x;

  }

   if(x==2){
    var typed = new Typed('.tekst', {
        strings: ["", "tekst x2"],
        typeSpeed: 30

      });

      x=3;

      console.log(x);
      document.getElementById('lewaopcja').value = 'test'+x;
  }

  if(x==3){
    var typed = new Typed('.tekst', {
        strings: ["", "tekst x3"],
        typeSpeed: 30

      });
      x=4;

      console.log(x);
      document.getElementById('lewaopcja').value = 'test'+x;
  }
}

button

<input type="button" id="lewaopcja" value="test" onclick=test(x)>
edytowany 1x, ostatnio: Damian Pasternak, 2019-03-09 10:51

Pozostało 580 znaków

2019-03-09 12:21
0

Trochę nie rozumiem sensu tego, ale nie lepiej to zrobić tak?

var typed = new Typed('.tekst', {
    strings: ["", "Lorem Ipsum jest tekstem stosowanym jako przykładowy wypełniacz w przemyśle poligraficznym."],
    typeSpeed: 0.1

  });
var x = 1;

function test(){
     typed = new Typed('.tekst', {
        strings: ["", " tekst x " + x],
        typeSpeed: 30
      });
      x++;

      console.log(x);
      document.getElementById('lewaopcja').value = 'test'+x;
}

Pozostało 580 znaków

2019-03-09 12:34
1
var typed = new Typed('.tekst', {

E... ale tu używasz jakiejś biblioteki .js.
Co to Typed właściwie robi?

Poza tym, patrz: MasterOf.


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0