2015-08-21 15 views
7

Se c'è una domanda simile a questo proposito, per favore indicami in quella direzione. Questo problema è difficile per me descrivere, ma farò del mio meglio:Il plugin di inizializzazione di Cycle2 funziona in modo diverso su Windows che su OSX

http://jsfiddle.net/e70r1mtw/

utenti qui sono accolti da uno slideshow di immagini in scala di grigi che sfumano dal al colore. Funziona perfettamente su OSX e su Firefox in Windows. (Il client è consapevole che questo effetto non funziona in IE e va bene.)

Tuttavia, in Chrome su Windows, la prima diapositiva non svanisce dalla scala dei grigi, ma rimane a colori.

Il mio sospetto è che questo abbia a che fare con il modo in cui viene caricato il DOM e come viene inizializzato il plugin di Cycle2.

Il CSS che controllano questo effetto in scala di grigi è la seguente:

#home-featured .cycle-slide { 
     -webkit-filter: grayscale(100%); 
     filter: grayscale(100%); 
     -webkit-transition-property: -webkit-filter; 
     -webkit-transition-duration: 4s; 
     -webkit-transition-timing-function: ease; 
     -webkit-transition-delay: 2s; 
     transition-property: -webkit-filter, filter; 
     transition-duration: 4s; 
     transition-timing-function: ease; 
     transition-delay: 2s; 
    } 

    #home-featured .cycle-slide-active { 
     -webkit-filter: grayscale(0%); 
     filter: grayscale(0%); 
    } 

La mia domanda è: C'è un modo per inizializzare Cycle2 senza aggiungere immediatamente la classe cycle-slide-active, dando il tempo browser per rendersi conto che ha bisogno di mettere in atto la transizione CSS?

+0

Chrome 44, Win 7, lo sbiadimento è lì per ogni diapositiva –

+0

@ JakubMichálek: Si prega di leggere la domanda. Il problema non sono le diapositive che si sbiadiscono. È che la prima diapositiva inizia a colori anziché in scala di grigi. Questo problema esiste in Safari su OSX e Chrome 44 su Win7. Firefox sembra aver risolto questo problema dalla versione 38 e sta funzionando nella versione 40. – invot

+1

Quello che intendevo è che per me, la prima diapositiva inizia in scala di grigi e dissolvenze di colore nel giusto. Ho anche provato a disattivare la cache e aggiornare, ma vedo sempre la prima diapositiva in scala di grigi prima che riprenda colore. ;) –

risposta

2

ho già avuto un problema simile con cycle2 Cambiare il .cycle-slide-active a:

body.loaded .cycle-slide-active { 
    -webkit-filter: grayscale(0%); 
    filter: grayscale(0%); 
} 

Così l'effetto sarà il carico di documenti, dopo cycle2 che si trova sul pronto con l'init automatica.

Il carico documento

$('body').addClass('loaded'); 

Esempio: http://jsfiddle.net/e70r1mtw/3/

È inoltre possibile utilizzare il cycle-initializedevent per aggiungere una classe ovunque si desidera attivare le transizioni.

+0

Funziona perfettamente! Risposta brillante! – invot

Problemi correlati