Domanda

Sto cercando di utilizzare il ciclo di plug-in jQuery per ciclo citazioni rotonde differenti. Vorrei avere le quotazioni visualizzati per diverse quantità di tempo a seconda della lunghezza della citazione. Per raggiungere questo obiettivo ho il sistema mangagement contenuti per l'uscita del numero di secondi come un nome di classe come dur13 sarebbe per 13 secondi.

Questa è la mia non-lavoro tentativo:

$('.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');
}

Questo è possibile con il ciclo? Se non c'è un altro plugin che avrebbe funzionato? Non ho davvero bisogno di effetti fantasia, appena fade in out dissolvenza sarebbe sufficiente.

Molte grazie

È stato utile?

Soluzione

C'è un timeoutFn opzione è possibile utilizzare, in questo modo:

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

Tuttavia, invece di una classe è possibile utilizzare un attributo data , qualcosa di simile in questo modo:

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

Quindi il codice è un po 'più semplice:

$('.featureFade').cycle({
  timeoutFn: function(currElement, nextElement, opts, isForward) { 
    return parseInt($(currElement).attr('data-duration'), 10);
  }
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top