Wątek przeniesiony 2024-02-25 10:14 z JavaScript przez Riddle.

Przesuwanie powiększonego zdjęcia w boxie.

0

Cześć.

Napisalem sobie klase która obsługuje przybliżanie i oddalanie zdjęcia. Oficjalnie jest to w komponencie który jest galerią natomiast nie w tym szczegół.
Mam funkcjonalnosc która przybliża mi zdjęcie w boxie i w zależnosci od tego czy jest przybliżone to można tym zdjęciem manipulować (przesuwać tak by zobaczyć szczegóły)
Problem mam w tym, że teraz to przybliżone zdjęcie mogę przesuwać bez końca. Przykładowo, jeżeli przesuwam zdjęcie w prawo to w końcu mój box nie zawiera zdjęcia tylko puste (w tym przypadku białe) pole. Chciałbym aby przesuwanie zdjęcia było możliwe tylko i wyłącznie w obrębie boxa. Jeżeli lewa krawędź powiększonego zdjęcia zetknie się z lewą krawędzia boxa to nie powinno dać się przesuwać dalej w tym kierunku. Próbowałem z getBoundingClientRect natomiast nic mi to nie pomagało jeżeli chodzi o transform: translate. Pytałem też AI, ale mimo wielu promptów on nie potrafił zrozumieć chyba dokładnego sensu mojego problemu. Jest w stanie ktoś mi pomóc, albo nakreślić scieżke w która powinienem isc?
codepen:
https://codepen.io/scarekk101/pen/LYaKvdR

0

Spróbuj zmieniać właściwość object-position zamiast transform: translate(..., ...);

https://developer.mozilla.org/en-US/docs/Web/CSS/object-position

Ustawienie object-position: 0% 0%; oznaczałoby lewy górny róg obrazka, a object-position: 100% 100%; prawy dolny róg obrazka.

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