Web Animations is a new w3c spec, solo per essere chiari di cosa stiamo parlando. Ad ogni modo, volevo scorrere verso un determinato elemento senza problemi. Usando la funzione Animate
di jQuery questo è sempre stato un gioco da ragazzi, ma questo non sembra essere così semplice con le animazioni Web. Esiste un modo per utilizzare le funzioni di sincronizzazione di Web Animation e applicarle a una proprietà DOM (scrollTop
). Il motivo per cui sto chiedendo è che non voglio caricare un'intera libreria (extra) solo per usare la sua funzione di interpolazione mentre lo faccio con una tecnologia/libreria diversa nel resto della mia applicazione.Animare le proprietà DOM (scrollTop) utilizzando le animazioni Web
risposta
È possibile utilizzare Custom Effects per animare scrollTop
, ad es.
var a = new Animation(el, function(time) {
el.scrollTop = el.scrollTop + time * 500;
}, 1000);
Stasera devo ancora provarlo, ma sembra perfetto: O E grazie per il tuo fantastico lavoro su Polymer: D (e benvenuto a StackExchange?) –
Ecco un JSFiddle funzionante per tutti quelli che si imbattono in questo punto: http : //jsfiddle.net/4hd3hjrx/1/ e http://jsfiddle.net/4hd3hjrx/ –
'Animation' è ora chiamato' KeyframeEffect' nella specifica W3C –
Per motivi di documentazione, a partire dalla risposta di Yvonne, utilizzando core-animation:
<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../bower_components/core-animation/core-animation.html">
<polymer-element name="animated-scroll">
<template>
<style>
#scroller {
height: 300px;
overflow-y: scroll;
}
</style>
<button on-tap="{{animate}}">Scroll it</button>
<div id="scroller">
<content></content>
</div>
<core-animation id="animation" duration="400" easing="ease-in-out"></core-animation>
</template>
<script>
(function() {
Polymer({
animate: function (e) {
var start = this.$.scroller.scrollTop;
var end = 500; // px
var delta = end - start;
this.$.animation.target = this.$.scroller;
this.$.animation.customEffect = function (timeFraction, target, animation) {
target.scrollTop = start + delta * timeFraction;
};
this.$.animation.play();
}
});
})();
</script>
</polymer-element>
Hai una versione che utilizza Polymer 1.0? core-animation è stato deprecato e il nuovo supporto per l'animazione neon è abbastanza imperscrutabile. –
- 1. Animare le proprietà personalizzate del CALayer all'interno di una CATransaction
- 2. Come funzionano le animazioni Android?
- 3. Usare le animazioni su tutte le assegnazioni javascript
- 4. jquery funzione di animare scrollTop non funziona in Internet Explore
- 5. Le transizioni CSS, le animazioni hanno prestazioni terribili, comportamento
- 6. Come animare le funzioni JQuery addClass/removeClass?
- 7. Come modificare le animazioni utilizzate dal meccanismo animateLayoutChanges?
- 8. utilizzando Proprietà. Impostazioni per le impostazioni dell'applicazione
- 9. Perché animare le proprietà personalizzate del CALayer fa sì che altre proprietà siano nulle durante l'animazione?
- 10. Le animazioni jQuery sono instabili e intermittenti in Firefox
- 11. Le transizioni e le animazioni di d3 utilizzano requestAnimationFrame?
- 12. Router Ember.js: come animare le transizioni di stato
- 13. Perché le animazioni jQuery lente sono discontinue?
- 14. Jquery, impedisce le animazioni di accodamento
- 15. animare le transizioni UIView come espandere il punto sul cerchio
- 16. Animare la proprietà 'Style' di Control utilizzando ObjectAnimationUsingKeyFrames in WPF
- 17. Come animare le transizioni di attività quando si utilizzano le viste elenchi/griglie/riciclatore?
- 18. Animare la clip: proprietà rect?
- 19. Come sincronizzare le animazioni CSS su più elementi?
- 20. Le animazioni CSS3 con trasformazione provocano elementi sfocati su Webkit
- 21. Perché le animazioni della vista a volte vengono troncate?
- 22. Accesso alle proprietà DOM shadow (polimero) con javascript/jquery?
- 23. è possibile animare gli inserti e le eliminazioni di Flexbox?
- 24. Animare determinati oggetti ListView
- 25. OData su API Web: come interrogare le proprietà annidate?
- 26. Sopprimere le proprietà con valore null sull'API Web ASP.NET
- 27. EntityFramework con WEB API, aggiorna tutte le proprietà
- 28. Le interfacce devono definire le proprietà?
- 29. Ad ogni modo per animare a livello di programmazione le proprietà di peso del layout lineare
- 30. Animazioni CSS vs Animazioni JQuery
Praticando lo stesso problema. Sembra che WA animi solo le proprietà CSS, scrollTop non essendo uno. – clyfe
@clyfe Bene, risulta che non ero completamente pazzo quindi: P In entrambi i casi, non l'ho mai implementato, ma a un certo punto stavo considerando di animare una proprietà css casuale e poco costosa su un elemento invisibile e usarlo per spostare il ' scrollTop'. Non bello, ma è meglio che caricare un'intera libreria extra. –