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

Problem z animowaniem się zmieniającego się tekstu

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+1 głos
205 wizyt
pytanie zadane 23 sierpnia 2020 w HTML i CSS przez Shiro Stary wyjadacz (10,300 p.)

Hej! 

Najłatwiej będzie mi pokazać o co mi chodzi na przykładzie: https://hryszko.dev/dihqyYJZqNUv/

I love ... animuje się perfekcyjnie, jednak I code in ... już nie chociaż są na podstawie tego samego stylu animacji
 

@keyframes animate{

	0%{
		opacity: 0;
		transform: translateY(50%);
	}
	50%{
		transform: translateY(0);
	}
	100%{
		opacity: 1;
	}
}

.animate{
	animation: animate 1s ease-in-out;
}

Tzn. dla tego elementu wyżej jest tylko opacity a dla tego na niżej jest jeszcze translate .. 

Druga sprawa to JS, otóż ta część kodu jest na podstawie strony znajomego (za zgodą oczywiście) i nie do końca rozumiem 4 linie:
 


		$( '#codeLang').html(lang[langRandId]);

		$( '#codeLang').removeClass('animate');
	    void document.getElementById("codeLang").offsetWidth;
		$( '#codeLang').addClass('animate');

Ja to rozumiem jako stworzenie voida ktory odczytuje szerokość od #codeLang. Przy czym nie bardzo widze sens tego .. dodatkowo animacja przestaje dzialac przy wylaczeniu tej linii wiec ewidentnie jest ona potrzebna...

Dla ułatwienia pliki: JS | CSS | HTML 

 

Z góry dziękuje za pomoc :) 

1 odpowiedź

+1 głos
odpowiedź 23 sierpnia 2020 przez ScriptyChris Mędrzec (190,190 p.)
wybrane 24 sierpnia 2020 przez Shiro
 
Najlepsza

Jeśli chodzi o problem z działaniem transform na elemencie #codeLang, to zdaje się, że transform nie działa na elementach inline (a taki jest <span>, który próbujesz transformować) - ustawienie mu display: inline-block powoduje, że transformacja (przesuwania w pionie) działa.

Co do pytania o operator void, to on powoduje, że użyte razem z nim wyrażenie zamiast zwrócić swoją wartość (w tym przypadku wartość property offsetWidth elementu) zwróci undefined. Nie mam pewności, dlaczego ten operator został tutaj użyty, ale kojarzę przypadki gdzie żeby wymusić przeliczenie property danego elementu w DOM trzeba odwołać się do jego property (jeśli przypomnę sobie szczegóły, to dopiszę je w komentarzu).

komentarz 24 sierpnia 2020 przez VBService Ekspert (256,320 p.)
edycja 24 sierpnia 2020 przez VBService

Doładnie jak @JSHolic, zauważył, zamian tego span-a:

<span class="color animate" id="codeLang" style="color: rgb(161, 74, 118);">pytnon</span>

na div-a

<div class="color animate" id="codeLang" style="color: rgb(161, 74, 118);">pytnon</div>

załatwia sprawę: in-action wink

[ What purpose does void element.offsetWidth serve? ] [ void operator ]

 

komentarz 24 sierpnia 2020 przez Shiro Stary wyjadacz (10,300 p.)
Działa, dziękuje Wam serdecznie za pomoc!
1
komentarz 24 sierpnia 2020 przez VBService Ekspert (256,320 p.)
edycja 24 sierpnia 2020 przez VBService

Twoja animacja bez jQuery, i z Moim małym "liftingiem": wink

[ Edit ]

span pozostawiony i dopisane: wink (@JSHolic yes)

span.color {
  display: inline-block;
}

lub

span#codeLang {
  display: inline-block;
}

https://codepen.io/vbservice/pen/poyRdva

1
komentarz 24 sierpnia 2020 przez ScriptyChris Mędrzec (190,190 p.)

@VBService, nie ma potrzeby zamieniać span na div (span nawet bardziej tu pasuje, ponieważ wrapuje tekst w linii), wystarczy dodać property display na inline-block

Podobne pytania

0 głosów
0 odpowiedzi 129 wizyt
pytanie zadane 7 lutego 2019 w JavaScript przez Andrzej Czarny Użytkownik (720 p.)
0 głosów
1 odpowiedź 137 wizyt
0 głosów
2 odpowiedzi 594 wizyt
pytanie zadane 16 grudnia 2016 w JavaScript przez Paweł Kieryk Początkujący (450 p.)

93,187 zapytań

142,203 odpowiedzi

322,014 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2326p. - Łukasz Piwowar
  3. 2315p. - Łukasz Eckert
  4. 2301p. - CC PL
  5. 2269p. - Tomasz Bielak
  6. 2235p. - Łukasz Siedlecki
  7. 2232p. - rucin93
  8. 2169p. - Marcin Putra
  9. 2006p. - Michal Drewniak
  10. 1946p. - Adrian Wieprzkowicz
  11. 1901p. - Mikbac
  12. 1744p. - rafalszastok
  13. 1734p. - Anonim 3619784
  14. 1586p. - Dawid128
  15. 1480p. - ssynowiec
Szczegóły i pełne wyniki

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 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...