javascript - 根据数组元素调用函数

标签 javascript jquery jquery-animate

我是 JavaScript 和 jQuery 的初学者,我想知道如何继续处理这部分代码,

我有一个带有回调的函数,例如:

myFunc(elem, callback) {
    $(elem).fadeIn(function(){ callback(); });
}

我想对数组中的元素运行此函数:

elems = ['#elem1', '#elem2_3', '#elem4_5', '#elem3', '#elem_five'];

但是,我想通过回调对数组的每个元素执行这个函数。 例如。一旦 #elem1 淡入淡出,它必须淡入第二个元素..etc

现在我这样做:

我尝试做一个for循环,但它们是同时执行的。

for (i = 0; i < elems.length; i++) { 
    myFunc(elem[i], function(){
        if (elem[i+1]) {
            myFunc(elem[i+1]);
        }
    });
}

那么你将如何进行?

最佳答案

这样做,您的问题的递归解决方案,

function myFunc(elems, cnt)
{
   if(cnt > (elems.length - 1)) { return; }
   $(elems[cnt]).fadeIn("slow", function(){  myFunc(elems , ++cnt); });
}

myFunc(['#elem1', '#elem2_3', '#elem4_5', '#elem3', '#elem_five'], 0);

DEMO

关于javascript - 根据数组元素调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26233905/

相关文章:

javascript - 如何显示表tr td标签内的div?

javascript - jQuery 滚动到 div onclick 不起作用

javascript - 如何将 kendoMultiSelect 选定的值存储在数组变量中?

javascript - 基础 JS + WebDev 帮助

javascript - 如何修复 jQuery Mobile 的固定页脚?

jquery - Internet Explorer(仅限)间歇性中止 AJAX 帖子

javascript - gridview 中的 asp.net 复选框 - 缺少选中的属性

jquery - 如何从多个子菜单项将外部 div 加载到 master.html div

jquery 幻灯片 - slideToggle

javascript - 多元素 jQuery 动画问题