¿Cómo ejecutar con jquery una función al hacer click y al volver hacer click ejecutar otra función?

publicado por: Anonymous

No he usado mucho jquery y no consigo hacer esto:

Tengo un li con id=”play1″ al hacer click en él: reproducir una canción y al volver hacer click en “play1” pausar la reproducción. Así siempre, reproducir /parar.

<li id="play1">



$( "#play1" ).click(function() 
{
    //si play1 click ejecutar audio1.play();
    //otro click en play1 ejecutar audio1.pause();
});

¿usar un contador?

solución

Pon una bandera que indique el estado del reproductor. Puedes crear la bandera con JavaScript:

var playing = false;

$('#1').click(function() {
  if(!playing) {
    audio1.play();
    playing = true;
  } else {
    audio1.pause();
    playing = false;
});

O vía un atributo data-:

<div id="audio1" data-status="paused">...</div>

Y obtienes el atributo en el evento click:

$('#audio1').click(function() {
  var status = $(this).attr('data-status');
  if(status === "paused") {
    audio1.play();
    $(this).attr('data-status', 'playing');
  } else {
    audio1.pause();
    $(this).attr('data-status', 'paused');
  }
});
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *