問題は、translateX
アニメーション化する直前に位置を変更していないことです。問題のあるスライドの例では#slide2
、アニメーション化する前に位置を変更していますが、まだ間違った側からアニメーション化しています。
その動作を修正するにはどうすればよいですか?代わりにcssleft
プロパティを使用するとこれが修正されますが、使用したいtranslateX
.
ありがとう。
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 プレイグラウンド: http://jsfiddle.net/D5d9e/