Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS]Ładowanie obrazka po wybraniu elementu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
axwell
Na stronie WWW mam listę rozwijalną oraz tuż nad nią obrazek, w tym konkretnym przypadku z listy wybieram nazwę kraju, a obrazek jest jego flagą. Chciałbym, aby po wybraniu kraju obrazek zmienił się na odpowiedni do niego ale bez przeładowania strony. Moja wiedza o JavaScript jest równa 0 dlatego proszę o pomoc
kamil4u
Nie chce dawać gotowca, bo by za prosto było smile.gif - zrób tak:
- jako value, każdego elementu z listy rozwijanej przypisz ścieżkę do obrazku: np. value="./pl.png"
-do listy rozwijanej dodaj zdarzenie change (atrybut onchange), a w nim kod JS
Podpowiedzi do kodu js:
- referencja do elementu(obrazka) <-> getElementById
- referencja.src = this.value; <-- to praktycznie cały kod JS, poszukaj tylko o tej referencji

W razie czego pytaj smile.gif
axwell
oj to się chyba trochę pomęczymy nad tym tongue.gif Proszę o jeszcze bardziej uproszczone porady ze szczegółowymi instrukcjami. Rozumiem, że będzie to działało w następujący spósób: napiszę funkcję zmieniającą obrazek, a w "onchange" dla listy dam nazwę tej funkcji.


  1. <select name="src" id="obrazeksrc" onchange="obrazek()">



No i teraz funkcja zmieniająca obrazek. Z tego co przeglądałem to chyba muszę pobrać adres obrazka. Czyli:

  1. <script type="text/javascript">
  2. function obrazek()
  3. {
  4. var phone = document.getElementById('obrazeksrc');
  5. }
  6.  


Co jeszscze musi znaleźć się w tej funkcji, aby obrzek zmienił się?
kamil4u
Kod
<img id="test" src='./pl.jpg'>
<select onchange = "document.getElementById('test').src = this.value;">
  <option value="./pl.jpg">pl</option>
  <option value="./en.jpg">en</option>
...
</select>
axwell
Proste smile.gif tylko jeszcze taka jedna mała sprawka. Na potrzeby skryptu muszę mieć w value elemenów listy tylko dwie literki np. value="pl". Jak więc zmienić document.getElementById('test').src = this.value; żeby dwie literki były nazwą pliku, ale żebym mógł jeszce dołączyć jakiś tekst przed i po this.value?
karolrynio
Kod
document.getElementById('test').src = 'katalog_z_obrazkami/' + this.value + '.gif';

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.