2012-05-24 3 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 }); 

Я даже три ed в консоли 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'}); 

ПРИМЕЧАНИЕ: Если.ball имеет position:absolute то его родитель должен иметь position:relative;

И, кажется, что ваш код также working

+0

У этого родителя есть относительное положение, конечно, но, я пытаюсь сделать классическую игру Понга в javascript/jQuery и когда шары попадают в верхнюю часть он не будет увеличивать его свойство. Я думаю, что это проблема в моем коде, но потом, почему он не работает хотя бы на консоли? –

+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 –

Смежные вопросы