动画中的jQuery连字符

时间:2012-04-30 02:32:35

标签: jquery

$this.animate(  {
                width: +=50,
                height: +=50,
                padding-right:50px
                }   

以及webkit / moz边框属性,我无法使用任何带连字符的css属性。将它放在引号(“padding-right”)并完全删除连字符(“paddingRight”)没有解决它,除了后者不使用webkit / moz属性。

我在Chrome检测工具中遇到的错误是:

Uncaught SyntaxError: Unexpected token -

3 个答案:

答案 0 :(得分:4)

<强> Live Demo

当你有一个连字符时,你需要用引号括起来,否则它不会正确解析给你一个语法错误。请注意,这不仅限于jQuery属性,一般是对象属性。

$this.animate(  {
                width: '+=50',
                height: '+=50',
                'padding-right':50
                } ); 

j08692在评论中也是正确的,paddingRight也可以。 http://docs.jquery.com/index.php?title=Effects/animate&redirect=no

答案 1 :(得分:0)

JavaScript变量名称中不允许使用连字符。为了解决这个问题,jQuery使用camel-casing作为CSS属性名称。

例如,您可以使用padding-right代替paddingRight

现在已经不在了,你还有另外一个问题。 width: +=50height: +=50不正确。您试图增加50,但没有变量可以递增。我可以看到你想要做什么,以下可能是你需要的。

$this.animate({
  width: $this.width() + 50,
  height: $this.height() + 50,
  paddingRight: 50
});

答案 2 :(得分:0)

$(this).animate({
  width: // set the width to what you want it to end//
  height: //set the height to what you want in the end
  paddingRight: "50px", // use quotes and commas
});