2009-01-13 13 views
8

Tengo un silbador JQuery que estoy usando para establecer la puntuación en una aplicación web. Originalmente lo tenía para que el usuario haga clic en un botón de enviar, pero el cliente ahora quiere que actualice el estilo de AJAX.JQuery Slider - Función de llamada después de la diapositiva

Esto funcionaría, pero la función de diapositivas recibe una llamada en cada movimiento, por lo que mi script AJAX enviará una puntuación antes de que el deslizador haya terminado de moverse.

¿Hay alguna función en el control deslizante de JQuery a la que se llame al lanzar el control deslizante? ¿Hay alguna manera sencilla de comprobar para ver cuándo se ha lanzado el control deslizante?

Gracias ,.

Respuesta

17

Después de leer rápidamente the source code, yo diría que intente usar 'detener' o 'cambiar' en lugar de 'deslizar'. Parece que el evento 'detener' ocurre en mouseup, y el evento 'change' ocurre en mouseup pero solo si el valor cambia. No vi ninguna documentación sobre esto, por supuesto, no me veía muy duro.

+0

Gracias, yo no podría encontrar que en la fuente, pero supongo que estaba buscando en la documentación equivocada. Exactamente lo que estaba buscando. –

+0

Gracias, esto realmente me ayudó. – suvajit

+0

Aunque el enlace de referencia ya no existe. Hasta la respuesta de Salty y FryGuy son realmente útiles cuando se combinan. – Daenarys

6

La documentación confirma lo que acaba de decir ... FryGuy From the slider options page:

cambio de función (Evento, ui): función que es llamada en el retén de la corredera, pero sólo si la posición de la corredera ha cambiado.

parada Función (Evento, ui): Función que se invoca cuando el usuario deja de deslizarse.

9

Al inicializar el control deslizante, utilice esto:

var slider = $('.slider').slider({ 
    steps: 10, 
    handle: $('.knob'), 
    animate:'true', 
    min:1, 
    max:10, 
    startValue: 1, 
    change: function(e,ui){ 
     //Do something with ui.value 
    } 
}); 
Cuestiones relacionadas