2012-01-02 60 views
4

您必须看到效果才能知道我的意思。如何使用相同的类jQuery

http://jsfiddle.net/VS8tQ/28

我不能使用jQuery中同一类,因为我无法达到预期的效果,所以我有2班制作动画。

任何人都可以告诉我如何使用一个类来实现相同的效果吗?

+0

我已更新我的代码。谢谢大家的意见。 http://jsfiddle.net/VS8tQ/34/ – 2012-01-04 00:46:18

回答

1

我想你会需要为这个嵌套循环:

$(".section").each(function() { 
    $(this).children().each(function(i) { 
    }); 
}); 

http://jsfiddle.net/VS8tQ/29/

+0

完美!谢谢Daff! – 2012-01-04 00:28:23

0

试试这个:http://jsfiddle.net/VS8tQ/30/

$("p").animate({opacity: 0}, 0); 


$(".divSection1 *").each(function(i) { 
    taDa(this, i) 
}); 

$(".divSection2 *").each(function(i) { 
    taDa(this, i) 
}); 

function taDa(obj, i) { 
    $(obj) 
     .delay(100 * i) 
     .css('display', 'block') 
     .animate({opacity: 0}, 0)  
     .animate({opacity: 1, marginLeft: "+=10px"}, 200); 
} 
1

我想这就是你要寻找的解决方案( jsFiddle):

$("p").animate({opacity: 0}, 0); 

$(".divSection").each(function() { 
    $(this).children().each(function(i) { 
     $(this).delay(100 * i).css('display', 'block').animate({ 
      opacity: 0 
     }, 0).animate({ 
      opacity: 1, 
      marginLeft: "+=10px" 
     }, 200) 
    }); 
}); 
+0

谢谢Emre! – 2012-01-04 00:28:41

1

你的代码是绝对正确的,不需要写两遍。只需使用jQuery的匹配如下类名'section'

$("p").animate({opacity: 0}, 0);  
$("div[class^='section']").each(function() { 
    $(this).children().each(function(i) { 
     $(this) 
      .delay(100 * i) 
      .css('display', 'block') 
      .animate({opacity: 0}, 0)  
      .animate({opacity: 1, marginLeft: "+=10px"}, 200) 
    }); 
}); 

"div[class^='section']"选择与“部分”(如SECTION1,第2节..)开头的所有类。

+0

谢谢!我会用达夫的解决方案,这很简单,但你给了我们一个很好的提示(对于其他问题)。 – 2012-01-04 00:28:04

相关问题