如何使jquery函数一次运行一个
How to make jquery functions run one at a time
我正在使用它来运行jquery函数:
<script type="text/javascript">$('#customer_popup_notes').reveal();</script>
<script type="text/javascript">$('#customer_on_hold').reveal();</script>
与其在页面加载时同时运行这两个,不如如何让它们一次运行一个?
它们是页面加载时出现的弹出框 - 所以我想:
- 使第一个加载,
- 然后当盒子关闭时,第二个将加载。
- 等等...
由于 reveal 没有任何关于此的官方文档,因此我快速通读了源代码并尝试了一下。希望会有所帮助
$('#customer_popup_notes').bind('reveal:close', function(){
$('#customer_on_hold').reveal();
})
$('#customer_popup_notes').reveal();
更新:根据代码 https://github.com/zurb/reveal/blob/master/jquery.reveal.js,您有 2 个事件:reveal:open
、reveal:close
我目前无法访问基金会,所以这是基于文档的最佳猜测。
将模式 id 描述符存储在数组中,并将索引设置为 0。
var arr = ['#customer_popup_notes', '#customer_on_hold', 'modal3', 'modal4'];
var index = 0;
有一个基于索引加载模态并推进索引的函数。
function loadModal () {
$(arr[index]).foundation('reveal', 'open');
index++;
}
加载初始模态(索引 = 0)。
loadModal();
单击close-reveal-modal
类时,请等待模态关闭(自动 - 这是显示的一部分),然后在数组中加载下一个模态。
$(document).on('click', '.close-reveal-modal', function () {
$(arr[index - 1]).foundation('reveal', 'close');
if (index < arr.length) { setTimeout(loadModal, 300); }
});
它假设您的模态看起来像这样(请注意带有 class="close-reveal-modal"
的锚点)。
<div id="customer_popup_notes" class="reveal-modal">
<h2>Awesome. I have it 1.</h2>
<a class="close-reveal-modal">×</a>
</div>
这是一个小提琴,试图使用可点击的div来解释这个概念。
您是否尝试过在 reveal 方法中使用回调?
$('#customer_popup_notes').reveal(function(){
$('#customer_on_hold').reveal();
});
相关文章:
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 运行一个特定<脚本>(Dreamweaver)
- 在触发x-editable之前运行一个函数
- 如何运行一个又一个脚本
- 运行一个JavaScript黄瓜水豚它停止了
- 在每个函数之后运行一个函数
- 如何运行一个调用某个函数的函数首先完成它,然后再调用下一个函数.正在创建回调函数
- Node.js:如何在服务器初始化时运行一个特殊的函数
- 如何运行一个 JavaScript 函数 X 秒
- 如何在javascript函数中运行一个接一个的gullow函数
- 从gullow任务运行一个npm脚本
- Nodejs:在节点服务器启动时运行一个js文件
- Rails——在每个数据库条目中运行一个javascript
- JQuery启动文件下载,然后运行一个函数
- 如何在返回另一个函数中的值后运行一个函数
- 运行一个js函数onchange()
- VueJS组件来运行一个MelonJS游戏
- jQuery-在窗口滚动上运行一个函数,没有任何延迟
- 如何使[Enter]只运行一个处理程序
- 在three.js程序中运行一个webgl函数