The problem is, that translateX
is not changing it's position right before animating. In the example problematic slide is #slide2
, i'm changing it's position before animating and it still animate from the wrong side.
How to fix that behavior? Using css left
property instead is fixing this, but i want to use translateX
.
Thanks.
html:
<div id="slide1"></div>
<div id="slide2"></div>
css:
div {
position:absolute;
left:0px;
top:0px;
background:red;
width:100%;
height:300px;
-webkit-transition: all 0.4s linear;
}
#slide2 {
background:blue;
-webkit-transform: translateX(100%);
}
javascript:
$('#slide2')
.css('-webkit-transition','none')
.css('-webkit-transform','translateX(-100%)');
$('#slide1').css('-webkit-transform','translateX(100%)');
$('#slide2')
.css('-webkit-transition','all 0.4s linear')
.css('-webkit-transform','translateX(0%)');
jsfiddle playground: http://jsfiddle.net/D5d9e/