• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Ładowanie zdjęcia - wykrywanie zdarzenia

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
166 wizyt
pytanie zadane 16 maja 2020 w JavaScript przez Allen Obywatel (1,010 p.)
zamknięte 16 maja 2020 przez Allen

Podczas ładowania na stronę, przed submitowaniem, chcę pokazać je załadowane w miniaturce. Napisałem funkcję, która to wykonuje. Nie wiem jednak jak wykryć zdarzenie, przy którym funkcja ta mogłaby być wywoływana. Próbowałem użyć eventu 'load', lecz nie działa. Znalazłem takie rozwiązanie:

<input class="sth" id="file" name="sth" type="file" onchange="showPreview(event);">

jednak szukam kodu wykonywanego tylko w js.

komentarz zamknięcia: Otrzymałem odpowiedź

1 odpowiedź

+1 głos
odpowiedź 16 maja 2020 przez eunstachy Stary wyjadacz (14,180 p.)
wybrane 16 maja 2020 przez Allen
 
Najlepsza
document.getElementById('file').addEventListener('change', () => {
    // Your code to preview image.
});

Lub jeśli piszesz w jQuery (czego już raczej nie powinno się robić):

$('#file').change(() => {
  // Your code
})

 

komentarz 16 maja 2020 przez Allen Obywatel (1,010 p.)

Wielkie dzięki. Przed załadowaniem zdjęcia na ekranie wyświetla się taka miniaturka:

W jaki sposób mogę wyśrodkować napis "Image Preview"? Bezskutecznie próbowałem  użyć tych właściwości:

.classname img[alt] {
    /* line-height: 140px; */
    /* text-align: center; */
    /* vertical-align: middle; */
} 

Dodatkowo nie wiem jak pozbyć się tej ikony niewczytanego zdjęcia.

komentarz 16 maja 2020 przez eunstachy Stary wyjadacz (14,180 p.)

Wstaw tag <img> gdzie jako atrybut src dodasz jakiś obrazek zastępczy np 

https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fs3.amazonaws.com%2FFringeBucket%2Fimage_placeholder.png&f=1&nofb=1

następnie po załadowaniu zdjęcia prze użytkownika podmień ten atrybut załadowanym zdjęciem, dzięki czemu obrazek zastępczy zostanie zastąpiony podglądem zdjęcia.

komentarz 16 maja 2020 przez Allen Obywatel (1,010 p.)
edycja 16 maja 2020 przez Allen
Faktycznie, nie pomyślałem o takim rozwiązaniu, dzięki. Spróbuję tak zrobić, ale czy teoretycznie dałoby się to wykonać beż ładowania zdjęć (np. żeby nie obciążać procesu renderowania)?
komentarz 16 maja 2020 przez eunstachy Stary wyjadacz (14,180 p.)

Czyli żeby nie było żadnego obrazka zastępczego zanim nie załaduje się zdjęcia? Nie testowałem takiego rozwiązania ale możesz spróbować do <input type="file" /> dodać klasę np d-none

.d-none {
  display: none
}

Następnie w Js usuwać tą klasę gdy zostanie załadowane zdjęcie do uploadu:

document.getElementById('file').addEventListener('change', (e) => {
    e.target.classlist.remove('d-none')
    // Your code to preview image.
});

 

komentarz 16 maja 2020 przez Allen Obywatel (1,010 p.)
Super, dzięki jeszcze raz.

Podobne pytania

0 głosów
1 odpowiedź 221 wizyt
pytanie zadane 30 marca 2017 w JavaScript przez przemek-mtk- Początkujący (390 p.)
+1 głos
0 odpowiedzi 255 wizyt
pytanie zadane 26 stycznia 2022 w JavaScript przez PH03NIX Mądrala (6,130 p.)
0 głosów
0 odpowiedzi 335 wizyt

93,190 zapytań

142,205 odpowiedzi

322,035 komentarzy

62,518 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2817p. - dia-Chann
  2. 2769p. - Łukasz Piwowar
  3. 2759p. - Łukasz Eckert
  4. 2738p. - CC PL
  5. 2704p. - Tomasz Bielak
  6. 2678p. - Łukasz Siedlecki
  7. 2666p. - rucin93
  8. 2485p. - Marcin Putra
  9. 2418p. - Michal Drewniak
  10. 2367p. - Adrian Wieprzkowicz
  11. 2317p. - Mikbac
  12. 2239p. - Michał Telesz
  13. 2156p. - Anonim 3619784
  14. 1733p. - rafalszastok
  15. 1628p. - Dominik Łempicki (kapitan)
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...