Nietypowy zoom, powiększenie po naciśnięciu na obrazek.

Nietypowy zoom, powiększenie po naciśnięciu na obrazek.
FR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

Cześć, słuchajcie, mam kolejny problem. Wie ktoś może, jak zrobić zoom po naciśnięciu na obrazek jak tutaj (https://fearofgod.com/collections/homepage/products/almond-butter-perla-gum-hiking-sneaker)? Proszę o pomoc

Silv
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
1

Na szybko znalazłem dość przejrzysty przykład kodu: https://www.w3schools.com/howto/howto_js_image_zoom.asp.

Żeby aktywowało się dopiero po kliknięciu (a nie już po najechaniu), powinieneś zrobić zdarzenie onclick (https://www.w3schools.com/jsref/event_onclick.asp) i w wywoływanej funkcji wstawić zamianę oryginalnego obrazka (elementu <img> w przykładzie) na powiększony fragment obrazka (element <div> w przykładzie). Zamianę najlepiej zrobić chyba za pomocą ustawienia w CSS display: none dla jednego elementu, a np. display: auto dla drugiego (ale jeśli koniecznie chcesz, to możesz też usuwać jeden element i dodawać drugi w Javascripcie, tylko na mój nos to będzie więcej pracy). Piszę "jednego" i "drugiego", bo po zamianie, gdy użytkownik kliknie drugi raz, całość powinna zamienić się z powrotem (chyba że nie chcesz tak i będziesz wymagać przeładowania strony, gdy użytkownik zechce zamknąć powiększenie ;) ).

UDPATE: Nie korzystałem z tego kodu, więc nie wiem, czy będzie działać tak, jak tego oczekujesz.

FR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

Wielkie dzięki za poświęcenie swojego czasu. Miłego dnia. Bym Ci dał naj ale nie jest to do końca to czego oczekuję, ale jeszcze raz dzięki :)

FR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

Chodzi o to, że po naciśnięciu po obrazek ma się on powiększyć, i aby po poruszeniu myszką w obrębie obrazka zmieniała by się pozycja zoom'a.

Kandif
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 231
1

Ja bym to zrobił tak: oczywiście wszystko z wykorzystaniem JQuery. Wkładasz w Div za duży obrazek w background-image. Z początku ustalasz "background-size" mniejszy niż oryginał. W stylach domyślny "cursor" dajesz na zoom-in. Potem zdarzenie onclick - zmiana cursora na "all-scroll" oraz background-size na większy. Musisz także zrobic jakąs zmienną np. isZoomed (będzie sie zmianiac na true,false po każdorazowym kliknieciu diva) aby w listenerze ".mouseover" dla tego diva móc edytować pozycje obrazka, parametr "background-position" w tym pomoże. Potrzebna jest tylko pozycja kursora w divie, tutaj masz pomoc: https://css-tricks.com/snippets/jquery/get-x-y-mouse-coordinates/ .

Myślę że krótko wyjaśniłem jak uzyskać identyczny efekt, z tym że musisz to sam napisać :D.

JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 134
FR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

Kandif, świetny pomysł, muszę się trochę podszkolić co do jQuery, ponieważ jestem programistą php a nie jQuery. Dzięki. jawlo dzięki wielkie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.