Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]po kliknieciu zmienia się obrazek
Forum PHP.pl > Forum > Przedszkole
jaca121212
tak jak w temacie mam skrypt playlisty który po kliknieci odtwarza się muzyka i jest ikona play a chciałbym aby ta ikona zmieniła sie na inna ikonę tzn podmiana obrazka istniejącego na inny obtrazek w jaki to sposób zrobić
[JAVASCRIPT] pobierz, plaintext
  1. <script>
  2. $("#playlist a").on("click", function() {
  3.  
  4. var src = $(this).attr('href');
  5. var zdjecie1= document.getElementsByClassName(".icon-play");
  6. zdjecie1.innerHTML = "Hello World!";
  7. $("#videoarea").attr("src", src);
  8. $("#videoarea").attr("poster", '');
  9. $("#videoarea").attr("autoplay", true);
  10.  
  11. return false;
  12. });
  13.  
  14.  
  15.  
  16.  
  17.  
  18. });
  19. </script>
[JAVASCRIPT] pobierz, plaintext

ikona play ma classe icon-play
ikona pauza ma classe icon-pause
owca_82
Tworzysz sobie po dwie klasy na każdy obrazek (np. icon-play on, icon-play off ). Pierwsza ukrywa obrazek, druga pokazuje + przełączasz w callbacku zdarzenia pomiędzy tymi klasami (zmieniasz klasę pomiędzy off a on).

Czyli np.
pierwszy klik (play): icon-play off, icon-pause on
drugi klik (pause): icon-play on, icon-pause off
jaca121212
dzieki za przykład tylko nie za bardzo umiem javascript dlatego napisałem to na forum może w złym dziale w sumie to ten temat powiniennem założyć w dziale gotowe rozwiązania
owca_82
Coś w ten deseń z tym że zamiast buton'ów dajesz obrazki => https://jsfiddle.net/5u9hw3rt/1/
tomek200
To tak jak koledzy wyżej tylko zamiast podmieniać klasę to podmieniaj atrybut src zdjęcia.
jaca121212
Cytat(tomek200 @ 3.05.2015, 13:50:44 ) *
To tak jak koledzy wyżej tylko zamiast podmieniać klasę to podmieniaj atrybut src zdjęcia.

efekt który osiągnąłem jest taki że pierwszy obrazek się nie ukrywa pod drugim a i tak zamisat w konkretnej komórce li zmienił się obrazek po kliknieciu to we wszystkich komórkach li się zmieniają jak to naprawić
[JAVASCRIPT] pobierz, plaintext
  1. (function(){
  2.  
  3. var i = 0,
  4. $pauseIcon = $('.icon-pause');
  5.  
  6. $('a').click(function(){
  7.  
  8. $pauseIcon.toggleClass("off", i);
  9. i = i === 1? 0 : 1;
  10.  
  11. });
  12.  
  13. })();
  14.  
[JAVASCRIPT] pobierz, plaintext

  1. echo'<ul id="playlist">';
  2.  
  3. echo "<li><a href=muzyka/$fileinfo>$fileinfo</a>";
  4.  
  5. echo'<i class="icon-play" onclick="myFunction()"></i>';
  6. echo'<i class="icon-pause off"></i>';
  7.  
  8. echo "</li>";
  9.  
  10. echo'</ul>';


  1. .icon-play, .icon-pause{
  2. position: absolute;
  3. }
  4. .icon-play.off, .icon-pause.off{
  5. display: none;
  6.  
  7. }
  8. .icon-play:before { content: '\e800';margin-left:550px;margin-top:-25px; margin-right:0px; float:left;}
  9. .icon-pause:before { content: '\e801'; margin-left:550px;margin-top:-25px; margin-right:0px; float:left; }

dodam że iconki są pobrane z fontello
owca_82
Cytat(tomek200 @ 3.05.2015, 13:50:44 ) *
To tak jak koledzy wyżej tylko zamiast podmieniać klasę to podmieniaj atrybut src zdjęcia.

Tylko jeżeli wcześniej ten obrazek sobie za cech'owałeś smile.gif
IMO lepiej zmieniać klasy zamiast src smile.gif
jaca121212
no nie za bardzo wiem jak to zrobić
tomek200
Js'em podmieniaj klasy a w css jako background daj obrazek.
markuz
http://jsfiddle.net/c3g8cm96/
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.