2013-03-10 77 views
0

我有这样一个div:如何以正确的方式改变和动画div?

<div class="class1"> 
    <div class="class2"></div> 
    <div class="class3"></div> 
    <div class="class4"> 
     <div class="class5"></div> 
    </div> 
</div> 

这个div存在多次在页面上。

现在我想要删除一些子元素,重新排列其他元素并为其处理正确的动画。

目前我这样做。

例子:

 
var mainElement = $('class1'); 

mainElement.find('class2').css('property','value'); 
mainElement.find('class3').remove(); 
mainElement.find('class4').animate({'property': 'value'}); 

这工作,但它并不顺利,因为我想它是。一次对一个元素进行操作时,它可以工作,但即使这样也有点不稳定。但是,主要的问题是,这个代码是在页面加载时执行的,就像我之前说过的,它同时被应用于更多的元素。然后它会变得非常不稳定,直到你根本看不到动画。

有人可以向我解释如何以正确的方式做到这一点?

当我这样做,例如$('class1')。fadOut(),即使对于50个元素同时工作也很流畅。

问候, 安迪

+0

你究竟想干什么?精确的答案取决于具体的问题(尽管它们可以外推到更通用的解决方案)。 – 2013-03-10 12:27:22

+0

我想要从旧的div转换为新的改变的动画,就像.fadeOut()一样平滑。我不知道我应该如何解释它,听起来很清楚。 :) – Andy 2013-03-10 15:28:24

回答

0

目前尚不清楚你的动画到底是什么,但如果你以这样的方式移动的div作为导致页面重新流动,你会得到表现不佳。尝试通过使其绝对定位,将您的div从页面流中移出。淡入淡出效果不错,因为它不会影响布局。

+0

我在谈论reddit.com首页。每篇文章都是我正在谈论的div(class1)。例如,我尝试为每个帖子的标题字体大小设置动画。尝试:$('div.thing.link')。reddit.com上的fadeOut('1000') – Andy 2013-03-10 15:34:35