Czy w jQuery lub JavaScript jest jakiś sposób na wywołanie funkcji, gdy użytkownik zakończy zmianę rozmiaru okna przeglądarki?
Innymi słowy:
- Czy mogę wykryć zdarzenie podniesienia wskaźnika myszy, gdy użytkownik zmienia rozmiar okna przeglądarki? Inaczej:
- Czy mogę wykryć zakończenie operacji zmiany rozmiaru okna?
Obecnie jestem w stanie wyzwolić zdarzenie tylko wtedy, gdy użytkownik zacznie zmieniać rozmiar okna za pomocą jQuery
javascript
jquery
aneuryzm
źródło
źródło
Odpowiedzi:
Możesz użyć,
.resize()
aby uzyskać za każdym razem, gdy szerokość / wysokość faktycznie się zmienia, na przykład:Możesz zobaczyć działające demo tutaj , pobiera nowe wartości wysokości / szerokości i aktualizuje je na stronie, abyś mógł je zobaczyć. Pamiętaj, że wydarzenie tak naprawdę nie rozpoczyna się ani nie kończy , po prostu „dzieje się”, gdy następuje zmiana rozmiaru ... nie ma co powiedzieć, że kolejne się nie wydarzy.
Edycja: według komentarzy wygląda na to, że chcesz mieć coś w rodzaju zdarzenia „on-end”, rozwiązanie, które znalazłeś, robi to, z kilkoma wyjątkami (nie można odróżnić przesunięcia myszy od pauzy w przypadku różnych przeglądarek, to samo na koniec vs pauza ). Możesz jednak utworzyć to wydarzenie, aby było trochę czystsze, na przykład:
Możesz mieć gdzieś plik podstawowy, cokolwiek chcesz zrobić ... wtedy możesz powiązać się z tym nowym
resizeEnd
zdarzeniem, które wyzwalasz, na przykład:Można zobaczyć demo roboczą tego podejścia tutaj
źródło
Można to osiągnąć za pomocą właściwości onresize interfejsu GlobalEventHandlers w JavaScript, przypisując funkcję do właściwości onresize , na przykład:
window.onresize = functionRef;
Poniższy fragment kodu demonstruje to, rejestrując przez konsolę innerWidth i innerHeight okna po każdej zmianie jego rozmiaru. (Zdarzenie zmiany rozmiaru jest uruchamiane po zmianie rozmiaru okna)
źródło
Innym sposobem na zrobienie tego, używając tylko JavaScript, jest:
To uruchamia się za każdym razem, gdy zmienia się rozmiar, podobnie jak inna odpowiedź.
functionName
to nazwa funkcji wykonywanej podczas zmiany rozmiaru okna (nawiasy na końcu nie są konieczne).źródło
Jeśli chcesz sprawdzić tylko po zakończeniu przewijania, w Vanilla JS możesz wymyślić takie rozwiązanie:
Super Super kompaktowy
Wszystkie 3 możliwe kombinacje razem (ES6)
źródło