【发布时间】:2017-12-31 22:25:32
【问题描述】:
我正在尝试使用each() 函数遍历caption div 中的每个caption-element,获取captionin、captionout 和delayout 属性,下一个removeClass 中给出的那个元素在@987654328 @ 属性(不检查是否已经添加了类)和addClass 到captionin 属性中给出的那个元素。这很简单,而且效果很好。
接下来我试图扭转添加和删除从captionin 和captionout 属性中获取的类的整个过程,但这次将其延迟delayout 属性中给出的时间量(通过使用@987654334 @ 功能)。而且它不起作用。
整个 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,请在投反对票前在评论中提问,谢谢:)
【问题讨论】:
-
也许您可以多解释一下这段代码的作用?目标是什么,你想做什么 => 作为一个功能。
-
@Joraid 我正在尝试遍历 'caption' DIV 中的每个 'caption-element',获取它的
captionin、captionout和delayout属性,然后删除并添加类 ot当前使用'captionin'和'captionout'迭代的元素,然后在delayout给出的延迟后执行删除和添加类的相反过程。希望能帮助到你。谢谢。 -
我的意思是,你为什么要这样做?设计视角。
-
我正在尝试为滑块制作字幕,使其在不同时间消失。除了不同的动画时间之外,所有内容都已排序。
标签: jquery variables each settimeout