我试图通过每个使用each()
功能caption-element
内caption
格迭代,得到captionin
,captionout
和delayout
属性,接下来在captionout
属性给出该元素的removeClass
(不检查该类是否已经添加或不)和addClass
到captionin
属性中给出的元素。这很容易,而且完美。如何将当前迭代的元素(this)传递给.each()函数中的setTimeout?
接着我试图扭转添加和删除从captionin
和captionout
属性采取类,但这次是通过在delayout
属性给定时间量来延迟它(通过使用setTimeout()
功能)的全过程。它不起作用。
整个IDE是给每个迭代元素自己的setTimeout延迟取自delayout
属性。
每帮助一个完整的新秀大加赞赏:)
HTML:
<div class="caption">
<div id="1" class="caption-container">
<h1 class="caption-element animated" captionin="fadeInUp" captionout="bounceOut" delayout="2000">Caption 1</h1>
</div>
<div id="2" class="caption-container">
<h1 class="caption-element animated" captionin="swing" captionout="fadeOutDown" delayout="4000">Caption 2</h1>
<h1 class="caption-element animated" captionin="bounceInUp" captionout="lightSpeedOut" delayout="3000">Caption 2</h1>
</div>
<div id="3" class="caption-container">
<h1 class="caption-element animated" captionin="bounceInUp" captionout="rotateOutUpLeft" delayout="2500">Caption 3</h1>
</div>
</div>
jQuery的
jQuery('.caption .caption-element').each(function() {
var captionin = jQuery(this).attr('captionin');
var captionout = jQuery(this).attr('captionout');
var delayout = jQuery(this).attr('delayout');
jQuery(this).removeClass(captionout).addClass(captionin);
setTimeout(function() {
jQuery(this).removeClass(captionin).addClass(captionout);
}, delayout, captionin, captionout);
});
PS,问评论问题downvoting前请,谢谢:)
也许你能解释一下什么这段代码呢?什么是目标,你想做什么=>作为一种功能。 – MJoraid
@Joraid我试图遍历'caption'DIV中的每个'caption-element',得到它的captionin,captionout和delayout属性,然后使用'captionin'删除并添加当前迭代元素的类'和'captionout',然后进行相反的过程,在'delayout'中给出的延迟之后移除和添加类。希望能帮助到你。谢谢。 – Daniel
我的意思是,你为什么这样做?设计视角。 – MJoraid