2012-05-24 68 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 –