【发布时间】:2015-05-15 13:50:34
【问题描述】:
【问题讨论】:
【问题讨论】:
这是执行此操作的一种方法。请注意,我使用的是 CSS 过渡属性,IE 9 及以下版本的其他浏览器不支持该属性。
$("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.
});
【讨论】: