Unikalny efekt zawisu dla wzmacniaczy tlenowych
Opublikowany: 2022-04-10W tym samouczku zbudujemy unikalny efekt najechania na zawartość wyświetlaną w wzmacniaczach Oxygen Builder. Wzorowany na „Efekcie zawisu zniekształceń” Codrops i wykorzystujący kod źródłowy z tego zasobu, efekt ten stworzy zniekształcone zanikanie do obrazu zdefiniowanego przez użytkownika, gdy odwiedzający najedzie na komórkę wzmacniaka.
Ten samouczek będzie zawierał kilka fajnych koncepcji Oxygen Builder:
- Zaawansowane techniki wzmacniaków
- Grupy pól ACF i ręczna integracja z Oxygen Builder
- Podstawowa siatka CSS
- Atrybuty dynamiczne
- Użycie bloku kodu i pośredni JS
Idąc o krok dalej, sprawimy, że będzie to funkcja w 100% dynamiczna, co oznacza, że zostanie ustawiona i zapomniana. Nie ma potrzeby inicjowania konkretnego efektu dla każdej komórki!
Śledź dalej (pobieranie źródła):
Uwaga: jest to weryfikacja koncepcji i prawdopodobnie wymaga optymalizacji do użytku w zakładach produkcyjnych.
Dwie inne rzeczy:
- Rozpoczynamy kurs Oxygen Builder. Możesz dowiedzieć się więcej tutaj i dołączyć do listy oczekujących.
- To był samouczek wymagany w naszej niesamowitej grupie na Facebooku . Chcielibyśmy, abyś dołączył!
Demo efektów:

Krok 1: Pola ACF
Użyjemy ACF, aby uczynić to w 100% dynamicznym i łatwym do edycji dla użytkownika końcowego. Utwórz grupę pól i dodaj obraz najechania i obraz przemieszczenia. Obraz początkowy będzie głównym obrazem posta. Obraz po najechaniu jest efektem zanikania efektu, gdy odwiedzający najedzie na post przemiennika.
Obraz przemieszczenia jest tym, co zostanie użyte do stworzenia unikalnej animacji zmiany/zanikania między dwoma obrazami. W tym przykładzie używamy następujących obrazów do przemieszczenia:


W rzeczywistości możesz użyć dowolnego obrazu, ale zazwyczaj najlepsze są obrazy czarno-białe z doskonałą teksturą. Eksperymentowanie z tą metodą jest łatwe!


Oto jak wyglądają grupy pól i powiązane obrazy podczas dodawania nowego posta:

Krok 2: Stwórz strukturę dla efektu
W istocie kopiujemy kod źródłowy z przykładu Codrops, z drobnymi modyfikacjami.

Po prostu powielamy powyższą strukturę HTML z elementami Oxygen Builder. Nie zapomnij dodać klas z powyższego przykładu HTML, ponieważ dodamy trochę CSS, a JS użyje ich do zidentyfikowania określonych elementów. Jeśli zmienisz te klasy, musisz odpowiednio zaktualizować CSS i JS.
Nasz Repeater używa siatki CSS do równomiernego rozmieszczenia wszystkich komórek bez większego nakładu pracy:

Krok 3: Uczyń dynamiczny
Jest kilka rzeczy, które należy skonfigurować, aby były dynamiczne. Najpierw ustaw powtarzające zapytanie jako typ WordPress Post.
Następnie ustaw dynamiczną datę i tytuł posta.

Teraz skonfigurujemy trzy obrazy. Tutaj sprawy mogą się skomplikować. Ustaw adres URL obrazu 1 jako adres URL polecanego obrazu.


Ustaw adres URL obrazu 2, aby był obrazem po najechaniu, ustawionym w ACF. W tym samouczku pola ACF nie były wyświetlane w wyskakującym okienku „wstaw dane dynamiczne” (prawdopodobnie z powodu błędu Oxygen Builder 4.0 Beta 2). Istnieje proste obejście, jeśli kiedykolwiek tego doświadczysz:
1 - Wstaw dane dynamiczne
2 — Wybierz wartość zwracaną funkcji PHP

3 - ręcznie wstaw zawartość pola ACF za pomocą get_field('fieldname')

Na koniec musimy ustawić obraz zniekształcenia, którego efekt użyje do wykonania przejścia morph. Jest on wstawiany do kodu HTML jako atrybut danych, który JS odczytuje i włącza do efektu. Z powyższego kodu HTML widzimy, że istnieje kilka atrybutów, które można edytować, aby zmienić efekt.
Najważniejszą rzeczą, którą musimy uczynić dynamicznym, jest przesunięcie danych, które będzie miało adres URL obrazu ustawiony w poście za pomocą ACF. Na stałe zakodowaliśmy pozostałe trzy atrybuty, ale możesz użyć tej samej metody opisanej poniżej, aby umożliwić edycję również tych użytkowników.
Przejdź do elementu opakowania obrazu (div wokół dwóch dynamicznych obrazów). Kliknij Zaawansowane -> Atrybuty i dodaj następujące.

W przypadku data-displacement
uczynimy to dynamicznym, klikając przycisk danych+ w treści i wstawiając odpowiednie pole ACF.
Frontend HTML będzie wyglądał tak, a JS użyje wszystkich tych danych (które są dynamiczne i edytowalne przez użytkownika za pomocą ACF) do stworzenia fajnego efektu przesunięcia na WordPressie:

Krok 4: Dodaj CSS, biblioteki i JS
Do naszego uniwersalnego arkusza stylów CSS dodamy następujący kod CSS. Być może będziesz musiał pobawić się dodatkowymi stylami CSS, aby wszystko działało dobrze.
Na koniec załadujemy niezbędne biblioteki JS i kod (zrobiliśmy to za pomocą bloku kodu):
W naszym przykładzie używamy statycznie (pobierając biblioteki ImagesLoaded i Hover Effect z GitHub), ale najlepiej jest hostować to w swojej witrynie, używając narzędzia takiego jak Scripts Organizer lub Advanced Scripts.
Ładujemy również Three.JS i TweenMax.JS, dwie podstawowe biblioteki, które działają w celu wygenerowania efektu przemieszczenia.
Na koniec JS wykonuje następujące czynności — identyfikuje, kiedy obrazy są ładowane i stosuje efekt najechania na dowolny element, który ma .grid__item-img
, pobierając powiązane obrazy i obrazy przemieszczenia z każdego postu. Całkowicie dynamiczny i będzie działał niezależnie od liczby postów zwróconych przez repeater Oxygen Builder.
Po dodaniu tego wszystkiego Twój efekt powinien działać!
O to poprosił członek naszej izotropowej grupy na Facebooku. Zapraszamy do przyłączenia się tutaj.