gpt4 book ai didi

javascript - 通过 for 循环绑定(bind)会产生错误的结果

转载 作者:行者123 更新时间:2023-11-29 18:27:51 25 4
gpt4 key购买 nike

我的网站上有许多缩略图,它们都应该显示相同的幻灯片,但显示不同的幻灯片(通过添加和删除 .hidden 类)。这将通过 function showWork(toShow) 完成,其中 toShow 是指代应该可见的幻灯片的数字。该函数还会提醒该参数。

我还想通过将 mouseup 事件绑定(bind)到不同的缩略图 div 来使用 JavaScript 来完成此操作。因为我不想单独列出每个绑定(bind),所以我决定将所有 div id 放在一个数组中 (workArr) 并创建一个 for 循环:

for(i=0; i < workArr.length; i++){
$("#"+workArr[i]).bind({
mouseup: function(){
showWork(i);
}
});
}

我的数组长度为 14。当我运行这段代码时,我收到“14”的警告,并且没有显示幻灯片(因为没有 14.slide)。

我做错了什么?

最佳答案

你需要使用闭包:

for(i=0; i < workArr.length; i++){
(function(i){
$("#"+workArr[i]).bind({
mouseup: function(){
showWork(i);
}
});
})(i);
}

关于javascript - 通过 for 循环绑定(bind)会产生错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11275500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com