在JQuery中将一个CSS属性设置为另一个属性的值?

时间:2009-04-01 13:57:37

标签: jquery

例如,要从左侧为框设置动画,我可以将“left”设置为“width”的负值,并将其设置为零:

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

如果没有每个功能,有没有办法做到这一点?这个观音太过分了!

2 个答案:

答案 0 :(得分:1)

我不确定为什么你需要首先添加“each”,因为大多数jQuery函数同时处理多个元素。这应该有效:

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

编辑:代码不能像评论中提到的那样工作,因为$(this)没有引用正确的对象。这应该解决它:

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

答案 1 :(得分:0)

function放在名为animateBox()的自己的函数中。然后你可以这样做:

$('.box').each(animateBox);