2013-08-13 6 views
5

In realtà il soggetto è piuttosto esplicativo. Ma per chiarire, sono curioso di diverse cose:C'è un modo per sospendere la transizione CSS a metà strada?

  1. C'è un modo - non disabilitare - ma mettere in pausa la transizione delle proprietà? (E poi - riprendilo, forse).

  2. C'è un modo per leggere il cambio di proprietà (da JavaScript) mentre è in transizione? Ad esempio, lo $(el).height() restituirà 50 dopo 0,5 secondi dopo l'evento di passaggio del mouse, se gli stili per el sono: el { height: 100px; transition: height 1s; } e el:hover { height: 0px; } (è uno schizzo, scusate la sintassi).

+2

È possibile con JS: http://stackoverflow.com/questions/5312289/interrupting-stop-a-css3-transition-on-the-actual-position-state –

+0

@RyanMcDonough, grazie! Immagino che darò una seconda occhiata quando avrò dormito un po '. Ora non mi sembra così chiaro come funziona il tuo plugin. jsFiddle sembra essere statico. – Andrevinsky

+0

@Andrevinsky, potresti per favore riconsiderare la tua risposta accettata. Non risponde a questa domanda affatto! Se hai trovato una soluzione altrove, considera di scrivere la tua risposta a beneficio degli altri! Grazie! :) – Bill

risposta

0

1) È possibile utilizzare l'attributo animation-play-state CSS, e passare da

animation-play-state:running, e animation-play-state:paused https://developer.mozilla.org/en-US/docs/Web/CSS/animation-play-state

2) La risposta breve è sì. Qualunque proprietà tu legga a metà della tua transizione (diciamo height), restituirà il valore corrente al momento interrogato.

+6

Chiede informazioni sulle transizioni, non sulle animazioni. – Bergi

+0

Cosa intendi con "leggere"? '.clientHeight',' .style.height', o 'getComputedStyle(). height'? – Bergi

+0

uno di questi 3 dovrebbe funzionare –

Problemi correlati