Permalänk

CSS3 transition + JavaScript

Försöker att gömma/visa element genom att ändra dess klass med JavaScript.
Allt fungerar som tänkt förutom att transfom:rotate endast körs första gången klassen läggs till på elementet.
Någon som har en aning om varför?

CSS:

.spinOut { -moz-transform:rotate(360deg); -webkit-transform:rotate(360deg); -o-transform:rotate(360deg); -ms-transform:rotate(360deg); opacity: 0; width: 0px; height: 0px; } .spinIn { -moz-transform:rotate(360deg); -webkit-transform:rotate(360deg); -o-transform:rotate(360deg); -ms-transform:rotate(360deg); opacity: 1; width: 150px; height: 150px; }

JS:

FilterObj.prototype.add = function(){ var that = this; setTimeout(function(){ that.objects.removeClass('spinOut'); that.objects.addClass('spinIn'); }, 300); this.visible = true; } FilterObj.prototype.remove = function(){ this.objects.removeClass('spinIn'); this.objects.addClass('spinOut'); this.visible = false; }

Permalänk
Medlem

Jag vet inte exakt vad du vill göra men en rotate på 360 grader borde inte göra någonting förutom om det är en "animation". En statisk förändring av vinkeln med 360 grader gör ingenting rent visuellt.
Om du vill göra en riktig "spin" så är det väl just "animation" du är ute efter?

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Skrivet av Leedow:

Jag vet inte exakt vad du vill göra men en rotate på 360 grader borde inte göra någonting förutom om det är en "animation". En statisk förändring av vinkeln med 360 grader gör ingenting rent visuellt.
Om du vill göra en riktig "spin" så är det väl just "animation" du är ute efter?

Som topic säger så har jag med en transition (t.ex. -webkit-transition: all 0.3s ease-in-out;) på elementet, vilket gör att det blir en animation.
Problemet är som sagt att själv "snurr" animationen endast fungerar första gången klassen läggs till. Om jag lägger till klassen, tar bort den och sedan lägger till den igen så blir det ingen animation.

Permalänk
Medlem

.spinOut { -moz-transform:rotate(360deg); -webkit-transform:rotate(360deg); -o-transform:rotate(360deg); -ms-transform:rotate(360deg);

Är det inte så att det ska va typ -360deg eller 0deg. Du vill ju annars ändra till något som den redan är.
Eller är jag helt ute och snurrar(:P)?

Permalänk
Skrivet av agentq15:

.spinOut { -moz-transform:rotate(360deg); -webkit-transform:rotate(360deg); -o-transform:rotate(360deg); -ms-transform:rotate(360deg);

Är det inte så att det ska va typ -360deg eller 0deg. Du vill ju annars ändra till något som den redan är.
Eller är jag helt ute och snurrar(:P)?

Haha, så enkelt var det ja.
Tusen tack!