programersko pitanje

Poruka
24.740
Video sam jedan templejt web sajta u kome se na stranici smenjuje tekst koji se prikazuje slovo po slovo, da bi na kraju ispisa recenice se pojavio kursor koji brise celu rec odjednom slovo po slovo unazad. Majstori su to uradili preko animacije u css, ali mene je to zaintrigiralo da probam da izvrsim replikaciju u programu python posto ne znam nijedan drugi programski jezik (znam, epik fejl). Ovo sam uspeo da uradim:

Python:
import time
text = ["Hello, i am User_Freindly", "Working as a Freelancer", "Serbian designer"]
while True:
    for i in text:
        for x in i:
            print(x, end="")
            time.sleep(0.3)   
        print("\n")

Sad, ovaj kod stampa slovo po slovo i kad dodje do kraja recenice on predje u sledeci red. Sad mene zanima da li je moguce otstampati elemente liste text[0-2] u jednom redu tako da se prikaze prvo text[0] pa da on nestane i da se odstampa zatim text[1].
Meni to deluje nemoguce, ali mozda nisam dovoljno skilled. Moze kod u bilo kom jeziku ako je to moguce.
 

Redmond

Veoma poznat
Moderator
Poruka
13.212
Video sam jedan templejt web sajta u kome se na stranici smenjuje tekst koji se prikazuje slovo po slovo, da bi na kraju ispisa recenice se pojavio kursor koji brise celu rec odjednom slovo po slovo unazad. Majstori su to uradili preko animacije u css, ali mene je to zaintrigiralo da probam da izvrsim replikaciju u programu python posto ne znam nijedan drugi programski jezik (znam, epik fejl). Ovo sam uspeo da uradim:

Python:
import time
text = ["Hello, i am User_Freindly", "Working as a Freelancer", "Serbian designer"]
while True:
    for i in text:
        for x in i:
            print(x, end="")
            time.sleep(0.3)
        print("\n")

Sad, ovaj kod stampa slovo po slovo i kad dodje do kraja recenice on predje u sledeci red. Sad mene zanima da li je moguce otstampati elemente liste text[0-2] u jednom redu tako da se prikaze prvo text[0] pa da on nestane i da se odstampa zatim text[1].
Meni to deluje nemoguce, ali mozda nisam dovoljno skilled. Moze kod u bilo kom jeziku ako je to moguce.
Uh, evo mog resenja u javascriptu... malo zajebano ali radi

JavaScript:
  const textList = ["Hello, i am User_Freindly", "Working as a Freelancer", "Serbian designer"];
  const text = document.getElementById("text");
  let sentenceIndex = 0;
  let wordIndex = 0;
 
  const myInterval = setInterval(() => {
    const currentSentence = textList[sentenceIndex];
    text.innerHTML = currentSentence.slice(0, wordIndex + 1);
    wordIndex++;
    if (wordIndex === currentSentence.length) {
      const deleteInterval = setInterval(() => {
        text.innerHTML = currentSentence.slice(0, wordIndex);
        wordIndex--;
        if (wordIndex < 0) {
          sentenceIndex++;
          if (sentenceIndex >= textList.length) {
            sentenceIndex = 0;
          }
          wordIndex = 0;
          clearInterval(deleteInterval);
        }
      }, 10);
    }
  }, 350);
 

Top
  Blokirali ste reklame
Dragi prijatelju, nemojte da blokirate reklame - isključite Ad Blocker na Forumu, jer će tako mesto vaših susreta na Krstarici ostati besplatno za korišćenje.