答案 0 :(得分:0)
这是这样做的一种方式。请注意我使用的是CSS过渡属性,在9以下的IE和其他浏览器的旧版本中不支持。
$("button").click(function() {
$(".container").toggleClass("opened");
});
div {
width: 200px;
height: 100px;
}
.container {
position: absolute;
margin-left: -100px;
margin-top: -50px;
left: 50%;
top: 50%;
transition: margin-left .2s linear;
}
.container.opened {
margin-left: -200px;
}
.back {
background: red;
transition: margin-left .2s linear;
}
.container.opened .back {
margin-left: 200px;
}
.front {
background: green;
margin-top: -100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="back"></div>
<div class="front"></div>
</div>
<button type="button">Push me!</button>
另一种方法是使用jQuery Animate,而不是将类open
添加到div.back
:
$( ".back" ).animate({
margin-left: 200px,
}, 200,
function() {
// Animation complete.
});