【发布时间】:2016-03-01 10:33:05
【问题描述】:
如果单击按钮,我会尝试将 div 从其原始位置设置为屏幕左侧的动画。如果单击另一个按钮,那么我希望它动画回到它的原始位置。我能够弄清楚如何从右到左对其进行动画处理,但我无法将其动画化回原来的位置。
var left = $('#coolDiv').offset().left;
$("#b1").click(
function() {
$("#coolDiv").css({
left: left
}).animate({
"left": "0px"
}, "slow");
}
);
$("#b2").click(
function() {
$("#coolDiv").css({
right: right
}).animate({
"right": "0px"
}, "slow");
}
);
#coolDiv {
width: 50px;
height: 50px;
position: absolute;
right: 0;
background: yellow;
}
#b1 {
margin-top: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="coolDiv">cool</div>
<button id="b1">left</button>
<button id="b2">right</button>
【问题讨论】:
-
我的建议是将“过渡”的东西委托给 CSS,将点击逻辑委托给 JS。
-
检查我的答案和小提琴。
标签: javascript jquery html css animation