使用 jQuery 一个接一个地切换 DOM 元素
Toggle DOM elements one after the other using jQuery
我有以下代码:
<div id="quotes">
<p>"Quote 1."</p>
<p>"Quote2!"</p>
<p>"Quote3"</p>
<p>"Etc"</p>
</div>
有没有一种简单的方法可以循环浏览每个报价,因此显示报价 1,然后淡出以显示报价 2! 等等,或者我需要使用插件吗?
$('#quotes p').each(function(index){
$(this).delay(index * 1000).fadeIn().fadeOut();
});
或者像这样:
$('#quotes p').hide().each(function(index){
$(this).delay(index * 1600).fadeIn().delay(750).fadeOut();
});
现场演示
- 将 Q2、Q3 等的可见性保持为"隐藏"。
- 延迟显示第一个报价的时间,然后在回调时,您可以切换第一个和第二个报价的可见性。在此流回调中重复延迟和回调。
$('#quotes').find('p').hide();
$('#quotes').find('p').each(function(i){
$(this).prev().fadeOut('slow');
$(this).fadeIn('slow');
});
另一种选择是使用插件。 jQuery 循环插件很棒,设置起来非常简单:
它变成了一个单行:$('#quotes').cycle()
演示:http://jsfiddle.net/lucuma/HsWrC/1/
循环插件:http://jquery.malsup.com/cycle/
参考(控制时间间隔、动画类型等(:http://jquery.malsup.com/cycle/options.html
相关文章:
- 窗口对象属性返回一个dom节点
- 是否可以将一个DOM元素转换为另一个?或者从中复制所有属性
- 使用 Aurelia动态创建一个 dom 对象
- 如何使用 ng 无限滚动并在 http.jsonp 完成后更新另一个 DOM 元素
- 从单独的 html 页面创建一个 dom 元素
- 获取下一个 DOM 元素的 ID
- 我有一个 DOM 节点如何获取其中的文本
- 获取列表中的第一个 DOM 元素
- 在 AngularJS 中成功的 http 请求上创建一个 DOM 元素
- 如何将一个dom元素附加到另一个dom元件中,但在jquery中的第一个位置
- 有没有一种方法可以创建一个DOM对象,给定其呈现的字符串
- 从字符串创建一个 DOM 文档,不带 JQuery
- 一次显示一个DOM元素的淡入/淡出列表
- Angular 指令在从一个 DOM 元素移动到另一个 DOM 元素后停止工作
- 如何获取在视口中可见的第一个DOM元素
- 选择当前元素之后的下一个DOM元素
- 如何交换第一个和最后一个DOM元素
- 渲染速度:一次添加一个DOM项或一次添加项集
- 另一个DOM元素的JavaScript虚拟/代理输入
- 如何检查某个DOM元素是否在另一个DOM元素树中