Pregunta

Estoy tratando de utilizar el ciclo a ciclo plugin de jQuery cotizaciones redondas diferentes. Me gustaría tener las cotizaciones expuestas a diferentes cantidades de tiempo, dependiendo de la duración de la cita. Para lograr esto consigo el sistema mangagement contenido de dar salida a la cantidad de segundos que un nombre de clase, como sería dur13 durante 13 segundos.

Este es mi intento de no trabajo:

$('.featureFade').cycle({cycleTimeout: 10, after: onCycleAfter});

function onCycleAfter() { 
    $('.featureFade').cycle('pause');
    var duration = $(this).attr('class').substring($(this).attr('class').indexOf('dur')+3)
    setTimeout(oncycleEnd, duration * 1000); 
}
function oncycleEnd() { 
    $('.featureFade').cycle('resume');
}

¿Es esto posible con el ciclo? Si no hay otro plugin que funcionaría? Realmente no necesito efectos de fantasía, simplemente se desvanecen en la desaparición gradual sería suficiente.

Muchas gracias

¿Fue útil?

Solución

Hay una timeoutFn opción puede utilizar, por ejemplo:

$('.featureFade').cycle({
  timeoutFn: function(currElement, nextElement, opts, isForward) { 
    var duration = $(currElement).attr('class').substring($(currElement).attr('class').indexOf('dur')+3)
    return duration * 1000;
  }
});

Sin embargo, en lugar de una clase se puede utilizar una atributo de datos , algo así como esto:

<img data-duration="2000" src="..." />

A continuación, el código es un poco más simple:

$('.featureFade').cycle({
  timeoutFn: function(currElement, nextElement, opts, isForward) { 
    return parseInt($(currElement).attr('data-duration'), 10);
  }
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top