Установить одно свойство CSS в значение другого в JQuery? - PullRequest
0 голосов
/ 01 апреля 2009

Например, чтобы анимировать поле слева, я могу установить «left» в отрицательное значение «width» и анимировать его в ноль:

 $('.box').each(function(){
      $(this)
           .css('left', $(this).width()*-1 )
           .animate({'left':0},1000)
           ;
 });

Есть ли способ сделать это без каждой функции? ЭТО JQUERY СЛИШКОМ ВЕРБОЗА!

Ответы [ 2 ]

1 голос
/ 01 апреля 2009

Я не уверен, зачем вам нужно было добавлять «каждый», потому что большинство функций jQuery работают с несколькими элементами одновременно. Это должно работать:

 $('.box').css('left', $(this).width()*-1 ).animate({'left':0},1000);

РЕДАКТИРОВАТЬ: код не работает, как указано в комментариях, потому что $ (это) не относится к нужному объекту. Это должно исправить это:

 var $box = $box.css('left', $box.width()*-1 ).animate({'left':0},1000);
0 голосов
/ 01 апреля 2009

Поместите function в его собственную функцию под названием animateBox(). Тогда вы можете сделать это:

$('.box').each(animateBox);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...