CSS3 translateX混乱

时间:2013-06-17 16:46:23

标签: javascript jquery css3

问题是,translateX在动画制作之前并没有改变它的位置。在示例中有问题的幻灯片是#slide2,我在动画之前改变它的位置,它仍然从错误的一侧动画。

如何解决这种行为?使用css left属性来修复此问题,但我想使用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 playground: http://jsfiddle.net/D5d9e/

1 个答案:

答案 0 :(得分:0)

已更新 - 请尝试此操作:

$('#slide2')
    .css('-webkit-transition','none')
    .css('-webkit-transform','translateX(-100%)')
    .css('-webkit-transform'); // wtf happens here

小提琴:http://jsfiddle.net/D5d9e/6/

这有效...出于某种原因。