Verbeteringen in webanimaties in Chrome 50, Verbeteringen in webanimaties in Chrome 50

Alex Danilo

De Web Animations API , die voor het eerst werd geleverd in Chrome 36, biedt handige JavaScript-controle van animaties in de browser en wordt ook geïmplementeerd in Gecko en WebKit.

Chrome 50 introduceert wijzigingen om de interoperabiliteit met andere browsers te verbeteren en beter aan de specificaties te voldoen. Deze veranderingen zijn:

  • Annuleer evenementen
  • Animation.id
  • Statuswijziging voor de methode pause()
  • Beëindiging van gestippelde namen als sleutels in hoofdframes

In Chrome 51 zijn enkele van deze wijzigingen voltooid:

  • Gestreepte namen verwijderen als sleutels in hoofdframes

Annuleer evenementen

De Animatie- interface bevat een methode om een ​​animatie te annuleren, grappig genoeg genaamd cancel() . Chrome 50 implementeert het activeren van de annuleringsgebeurtenis wanneer de methode wordt aangeroepen volgens de specificatie, waardoor de gebeurtenisafhandeling wordt geactiveerd via het oncancel attribuut als deze is geïnitialiseerd.

Ondersteuning voor Animation.id

Wanneer u een animatie maakt met element.animate() kunt u een aantal eigenschappen doorgeven. Hier is bijvoorbeeld een voorbeeld van het animeren van de dekking van een object:

element.animate([ { opacity: 1 }, { opacity: 0 } ], 500);

Door de eigenschap id op te geven, wordt deze ingesteld op het geretourneerde animatieobject , wat kan helpen bij het debuggen van uw inhoud als u met veel animatieobjecten te maken heeft. Hier is een voorbeeld van hoe u een id opgeeft voor een animatie die u instantieert:

element.animate([{opacity: 1}, {opacity: 0}], {duration: 500, id: "foo"});

Statuswijziging voor de methode pause().

De methode pause() wordt gebruikt om een ​​lopende animatie te pauzeren. Als u de status van de animatie controleert met behulp van het playState attribuut, moet deze worden ingesteld op paused nadat de methode paused() is aangeroepen. In Chrome-versies vóór 50 zou het playState attribuut idle aangeven als de animatie nog niet was gestart, maar nu geeft het de juiste status weer: paused .

Gestreepte namen verwijderen als sleutels in hoofdframes

Om verder te voldoen aan de specificatie. en andere implementaties stuurt Chrome 50 een waarschuwing naar de console als streepjesnamen worden gebruikt voor sleutels in keyframe-animaties. De juiste tekenreeksen die moeten worden gebruikt, zijn camelCase-namen volgens de CSS-eigenschap voor het IDL- attribuutconversie-algoritme .

Voor de CSS-eigenschap margin-left moet u bijvoorbeeld marginLeft als sleutel doorgeven.

Chrome 51 verwijdert de ondersteuning voor streepjesnamen helemaal, dus dit is een goed moment om bestaande inhoud met de juiste naamgeving volgens de specificaties te corrigeren.

Samenvatting

Deze veranderingen brengen Chrome's implementatie van webanimaties dichter bij andere browserimplementaties en voldoen beter aan de specificatie, wat allemaal helpt bij het vereenvoudigen van het schrijven van webpagina-inhoud voor een betere interoperabiliteit.

,

Alex Danilo

De Web Animations API , die voor het eerst werd geleverd in Chrome 36, biedt handige JavaScript-controle van animaties in de browser en wordt ook geïmplementeerd in Gecko en WebKit.

Chrome 50 introduceert wijzigingen om de interoperabiliteit met andere browsers te verbeteren en beter aan de specificaties te voldoen. Deze veranderingen zijn:

  • Annuleer evenementen
  • Animation.id
  • Statuswijziging voor de methode pause()
  • Beëindiging van gestippelde namen als sleutels in hoofdframes

In Chrome 51 zijn enkele van deze wijzigingen voltooid:

  • Gestreepte namen verwijderen als sleutels in hoofdframes

Annuleer evenementen

De Animatie- interface bevat een methode om een ​​animatie te annuleren, grappig genoeg genaamd cancel() . Chrome 50 implementeert het activeren van de annuleringsgebeurtenis wanneer de methode wordt aangeroepen volgens de specificatie, waardoor de gebeurtenisafhandeling wordt geactiveerd via het oncancel attribuut als deze is geïnitialiseerd.

Ondersteuning voor Animation.id

Wanneer u een animatie maakt met element.animate() kunt u een aantal eigenschappen doorgeven. Hier is bijvoorbeeld een voorbeeld van het animeren van de dekking van een object:

element.animate([ { opacity: 1 }, { opacity: 0 } ], 500);

Door de eigenschap id op te geven, wordt deze ingesteld op het geretourneerde animatieobject , wat kan helpen bij het debuggen van uw inhoud als u met veel animatieobjecten te maken heeft. Hier is een voorbeeld van hoe u een id opgeeft voor een animatie die u instantieert:

element.animate([{opacity: 1}, {opacity: 0}], {duration: 500, id: "foo"});

Statuswijziging voor de methode pause().

De methode pause() wordt gebruikt om een ​​lopende animatie te pauzeren. Als u de status van de animatie controleert met behulp van het playState attribuut, moet deze worden ingesteld op paused nadat de methode paused() is aangeroepen. In Chrome-versies vóór 50 zou het playState attribuut idle aangeven als de animatie nog niet was gestart, maar nu geeft het de juiste status weer: paused .

Gestreepte namen verwijderen als sleutels in hoofdframes

Om verder te voldoen aan de specificatie. en andere implementaties stuurt Chrome 50 een waarschuwing naar de console als streepjesnamen worden gebruikt voor sleutels in keyframe-animaties. De juiste tekenreeksen die moeten worden gebruikt, zijn camelCase-namen volgens de CSS-eigenschap voor het IDL- attribuutconversie-algoritme .

Voor de CSS-eigenschap margin-left moet u bijvoorbeeld marginLeft als sleutel doorgeven.

Chrome 51 verwijdert de ondersteuning voor streepjesnamen helemaal, dus dit is een goed moment om bestaande inhoud met de juiste naamgeving volgens de specificaties te corrigeren.

Samenvatting

Deze veranderingen brengen Chrome's implementatie van webanimaties dichter bij andere browserimplementaties en voldoen beter aan de specificatie, wat allemaal helpt bij het vereenvoudigen van het schrijven van webpagina-inhoud voor een betere interoperabiliteit.