jquery - switch class without the previous being read -
i have css3 animation transitions take effect based on defined in classes added, removed, toggled, etc.
so, have class 'flyoff' used to; when added, make element fly , left. when removed flys down / transitions down position.
$('.exchange-tablet').addclass('transtime flyoff'); $('.exchange_text').fadeout(); this fine.
however...
i need bring down, different position (specifically top right).
when removeclass flyoff flys (transitions) down top left defined flyoff.
problem: need transition down (fly down) top right.
so, created class .flyoffr defined coordinates of top right.
$('.exchange-tablet').removeclass('flyoff').addclass('flyoffr'); but when above, still flys down flyoff position (top left) - because guess removed before needed flyoffr attached.
attempt .toggleclass
$('.exchange-tablet').toggleclass('flyoff flyoffr').addclass('complete'); flyoffr wasn't being read above..
the problem not css margins or coordinates -- because when add , remove classes in console; eg. add flyoffr flys down needed need solution transition 2 classes. without flyoff bring read before flyoffr does.
so, i'm thinking need .switchclass solution of sorts. pointers?
update: worked (though not ideal) via @shash7 (but slight tweaking)
$('.exchange-tablet').removeclass('flyoff'); settimeout(function() { $('.exchange-tablet').addclass('flyoffr'); $('.exchange-tablet').removeclass('flyoffr'); }, 600);
try this(assuming animation takes 250ms):
$('.exchange-tablet').removeclass('flyoff'); settimeout(function() { $('.exchange-tablet').addclass('flyoffr'); }, 250); but highly recommend don't go down route. instead of making classes moving elements around, add transformation css , function add element programmatically moving elements around.
or better, use animation library movejs.
Comments
Post a Comment