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

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

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.

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 :)

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.

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.

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1