为了账号安全,请及时绑定邮箱和手机立即绑定

为什么只能使用 right:"+=50px" right:"-=50px" 而不可以 right:"+=50px" left:"+=50px"

$(function(){
              $("#left").bind("click",function(){
              $("div").animate({
                right:"+=50px"},300 );
              });
              $("#right").bind("click",function(){
               $("div").animate({
             left:"+=50px"},300);
               });
              }) ;

正在回答

1 回答

其实这涉及到CSS定位规则。正常情况下,定位是(x,y)两个方向。你那样写其实是同一条线上的两个方向计算,CSS定位默认定位规则是left top构成一个坐标点,若同一盒子上设置了属性left与right,right无效。top与bottom,则bottom无效。分析你写的代码

right:"+=50px"   left:"+=50px"   页面加载完毕,先点击left按钮(#left)使用right属性,此时div盒子上添加了right样式,向左运动ok. 然后点击right按钮(#right),使用left属性,,div盒子上添加了left样式,,向右运动ok.

此时,div盒子样式属性有left,right,right属性失效。

所以,再点击left按钮或right按钮,只有使用left属性的right按钮有效。即div只能向右运动。

同样的道理,如果你在页面加载完毕后,直接点击right按钮,那么无论点击left按钮多少次div不会动。


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

为什么只能使用 right:"+=50px" right:"-=50px" 而不可以 right:"+=50px" left:"+=50px"

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信