W zasadzie to jeszcze będę potrzebował pomocy.
Finalnie chcę mieć 3 buttony, jak to sprawnie zrobić by nie powtarzać tej samej funkcji trzy razy tylko zawrzeć wszystko w jednej?
Przedstawię swój zamysł.
Trzy guziki. Jedna historyjka. Klikam jeden z guzików, obojętnie który. Wtedy, powiedzmy, że roboczo zmienia się value wszystkich trzech buttonów na 2. Mowa o value zarówno z htmla (idę w lewo na idę w lewo2, idę prosto na idę prosto2, idę w prawo na idę w prawo2) i zmiennej z js. Jak zobaczycie zaraz w kodzie, każdy button na osobną instancję, która zmienia .tekst kontynuując historyjkę. Tak więc klikam raz obojętnie który guzik, zmieniają się value wszystkich 3 buttonów, po kolejnym kliknięciu znów każdy się zmienia. Kod dla lepszego zrozumienia:
var typed = new Typed('.tekst', {
strings: ["", "Lorem Ipsum jest tekstem stosowanym jako przykładowy wypełniacz w przemyśle poligraficznym."],
typeSpeed: 0.1
});
const button = document.querySelector('#btn1');
button.addEventListener('click', test);
let value = 1;
function test() {
if(value === 1) {
console.log('action for 1')
value = 2
var typed = new Typed('.tekst', {
strings: ["", " tekst po kliknieciu raz "],
typeSpeed: 30
});
document.getElementById('btn1').value = 'Idę w lewo'+value;
} else if(value ===2) {
console.log('action for 2')
value = 3;
var typed = new Typed('.tekst', {
strings: ["", " tekst po kliknieciu drugi raz "],
typeSpeed: 30
});
document.getElementById('btn1').value = 'Idę w lewo'+value;
}
else if(value ===3) {
console.log('action for 3')
value = 4;
var typed = new Typed('.tekst', {
strings: ["", " tekst po kliknieciu trzeci raz "],
typeSpeed: 30
});
document.getElementById('btn1').value = 'Idę w lewo'+value;
}
}
<input type="button" id="btn1" class="btn" value="Idę w lewo">
<input type="button" id="btn2" class="btn" value="Idę prosto">
<input type="button" id="btn3" class="btn" value="Idę w prawo">