为什么它会将元素从左侧开始动画而不是从它的位置动画到100像素左侧
$("selector").animate({left: "+100px"});
答案 0 :(得分:1)
根据jQuery animate()的文档:
“如果一个值带有前导
+=
或-=
字符序列,则通过在属性的当前值中加上或减去给定数字来计算目标值。”< / p>
所以,请使用以下语法:
$("div").animate({
left: "+=100px"
});
div {
position: absolute;
width: 20px;
height: 20px;
background-color: #CCC;
left: 200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>