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

Płynna, powolna animacja "marquee" (bez przerw pomiędzy powtórzeniami)z użyciem js+jquery

Object Storage Arubacloud
0 głosów
776 wizyt
pytanie zadane 31 marca 2016 w JavaScript przez Łukasz Rząsa Użytkownik (830 p.)
Witam, chciałem zrobić animację marquee, która nie posiada pustego miejsca pomiędzy kolejnymi powtórzeniami, a w przypadku gdy tekst jest krótszy niż szerokość okna, w którym się znajduje aby automatycznie powieliło go o taką ilość razy aby zapełniło całą szerokość.

Niestety nie udało mi się tego dokonać za pomocą zwykłego znacznika marquee, dlatego próbowałem dany efekt osiągnąć z pomocą js+jquery, jednak skrypt powodował bardzo duże obciążenie (czasem też animacja na chwilę się "ścinała").

 

Oto kod, z którym się męczę: https://jsfiddle.net/L87svmp2/

1 odpowiedź

–1 głos
odpowiedź 31 marca 2016 przez jpacanowski VIP (101,940 p.)
wybrane 31 marca 2016 przez Łukasz Rząsa
komentarz 31 marca 2016 przez Łukasz Rząsa Użytkownik (830 p.)
A co jeśli element ma przykładowo 1200px, a tekst, który chcę przesunąć ma w zależności od różnych czynników np. 100px albo dajmy na to 2000px?

Dodatkowo w tym sposobie widać wyraźną różnicę pomiędzy kolejnymi powtórzeniami, a ja potrzebuję płynnego przewijania, nieskończonego, z niewidoczną granicą pomiędzy poszczególnymi elementami.
komentarz 31 marca 2016 przez jpacanowski VIP (101,940 p.)

Aha, nie zaglądałem do twojego kodu. Bardzo mi się podoba efekt. Niestety nie potrafię udzielić odpowiedzi jeżeli chodzi o optymalizację kodu. U mnie testowałem jednak i jest OK, ani trochę nic nie przycina. Może ktoś inny pomoże.

Poprawiłbym:

.marquee {
	width:1200px;
	...
}

na:

.marquee {
	max-width:1200px;
	...
}

Wtedy jest responsywne.

komentarz 31 marca 2016 przez Łukasz Rząsa Użytkownik (830 p.)
edycja 31 marca 2016 przez Łukasz Rząsa

Z responsywnością będę działał później z użyciem media-queries.

https://jsfiddle.net/L87svmp2/2/ z większą ilością elementów z animacją w przeglądarce firefox z jednoczesnym działaniem na stronie (np scrollowanie box-ów) są widoczne ścinki, czego wolałbym uniknąć.

Mam jeszcze pytanie: czy warto po zakończeniu animacji jeszcze raz wywoływać tą samą funkcję, czy może mój kod można nieco zmodyfikować aby miał lepszą wydajność.

I czemu w

{ 'left': '-'+m_p_width+'px' }

zamiast 'left' nie mogę przekazać parametru funkcji, tylko muszę tworzyć 2 osobne dla animacji "w lewo" i "w prawo"?

 

Edit: jak widzę na stronie działają trolle, które bez powodu obniżają Ci reputację za pomoc i zgłaszają post w sumie nie wiem za co....

Podobne pytania

0 głosów
1 odpowiedź 571 wizyt
pytanie zadane 4 maja 2016 w Nasze projekty przez guru Początkujący (250 p.)
0 głosów
0 odpowiedzi 123 wizyt
pytanie zadane 11 maja 2016 w JavaScript przez jaca121212 Nałogowiec (40,760 p.)
+1 głos
1 odpowiedź 103 wizyt
pytanie zadane 1 lipca 2020 w JavaScript przez Bartek12 Mądrala (5,510 p.)

92,567 zapytań

141,420 odpowiedzi

319,615 komentarzy

61,952 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...