循环将动态参数传递给回调函数

编程入门 行业动态 更新时间:2024-10-25 11:32:45
本文介绍了循环将动态参数传递给回调函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我想动态设置一些jQuery动画.

I wanted to set some jQuery animatios dynamically.

代码:

function anim(data) { for (index in data) { (function(){ var props = {}; props[data[index].property] = data[index].value; data[index].elem.animate( props, 500, function() { data[index].callback(); } ); })(); } } var data =[ { elem: elem1, property: 'prop1', value: 'val1', callback: function() { console.log('callback1'); } }, { elem: elem2, property: 'prop2', value: 'val2', callback: function() { console.log('callback2'); } }, ]; anim(data);

问题在于绑定回调.触发回调后,data[index]在当前作用域中不可用.有人可以告诉我如何设置这些回调属性吗?

The problem is binding callbacks. When the callback is fired, data[index] is not available in current scope. Can somebody tell me how to set those callback propery?

推荐答案

在这里,您使用的closure为立即调用的函数表达式.您必须传递data[index]作为参数.

Here you used a closure of Immediately-invoked function expression. You have to pass data[index] as parameter.

(function(dindex){ var props = {}; props[dindex.property] = dindex.value; dindex.elem.animate( props, 500, function() { dindex.callback(); } ); })(data[index]);

更多推荐

循环将动态参数传递给回调函数

本文发布于:2023-08-01 09:15:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1267173.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:回调   函数   参数   动态

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!