2012-05-24 36 views
4

我有这个<div>jQuery的CSS “+ =” 不工作

<div class="ball" style="top: 1px;"></div> 

top属性使用jQuery的功能.css像这样设置:

$(".ball").css({ top : var_top }); 

然而,当我试图增加它使用这种语法,它不起作用:

$(".ball").css({ top : "+=" + var_top }); 

我甚至三编辑它在Firebug的控制台是这样的:

$(".ball").css({ top : "+=7px" }); 
$(".ball").css({ top : "+=7" }); 

但这些都不工作。

+0

你使用jQuery 1.6或更好? –

+0

@minitech感谢编辑 –

+0

@RobLowe我正在使用最新的jQuery –

回答

3

你可以试试这个

$(".ball").css({ top : "+=" + var_top + 'px'}); 

注:如果.ballposition:absolute然后,其父需要有position:relative;

而且似乎你的代码也working

+0

它的父母有一个相对的位置当然,但我试图在JavaScript/jQuery中制作经典的Pong游戏,当球到达顶部时它不会增加它的属性。我想这是我的代码中的一个问题,但是,为什么它至少在控制台中不起作用? –

+0

[看这里](http://jsfiddle.net/zRZA8/) –

0

我认为你必须检索旧值,增加它比其重新分配:

var topPosition = $(".ball").css('top'); 
topPosition += increment; 
$(".ball").css('top', topPosition); 
+0

你不需要那样做。你可以在jQuery css中使用+ =和 - =。 – Archer

+0

这是一个新功能吗?我从来没有遇到过它! –

+1

该功能是新的jQuery 1.6 –