Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/09/2012, 17:47
Bernardao
 
Fecha de Ingreso: febrero-2010
Mensajes: 52
Antigüedad: 14 años, 9 meses
Puntos: 3
Pregunta Reducir, factorizar dos funciones Jquery

Buenas noches a todos,
Tengo el siguiente código que simplemente llama al li anterior o al siguiente en un slider.

// Next button
$('.next').bind('click',function(e){
var $this = $(this);
$('#navigation li:nth-child(' + (parseInt(current)+1) + ') a').click();
$(this).blur();
e.preventDefault();
});
//previous button
$('.prev').bind('click',function(e){
var $this = $(this);
$('#navigation li:nth-child(' + (parseInt(current)-1) + ') a').click();
$(this).blur();
e.preventDefault();
});

Dado que la es la misma función, salvo el elemento pulsado y donde pone (parseInt(current)-1) que en next es +1
Me gustaría saber como debería hacer para usar ambos botones en una única función.

Esto es lo que se me ha ocurrido. Espero vuestras sugerencias/correcciones.

Crearía una clase "navegador" para ambos botones

$('.navegador').bind('click',function(e){
var $this = $(this);
if(($('navegador).('next'))
$('#navigation li:nth-child(' + (parseInt(current)+1) + ') a').click();
else
$('#navigation li:nth-child(' + (parseInt(current)-1) + ') a').click();
$(this).blur();
e.preventDefault();
});

Gracias anticipadas