【发布时间】:2014-04-01 17:13:43
【问题描述】:
我查遍了论坛,似乎找不到解决问题的方法。
我有一个 id 数组,我正在使用 for 循环遍历它们,为进入和离开添加鼠标事件。 然而,所有事件都绑定到最终 ID,这可能是每个问题的一个。
我把它放在下面的小提琴上,任何帮助将不胜感激 - 我的大脑今天有点疲惫。
http://jsfiddle.net/shanemccster/e48vu/4/
cards = new Array('#box0','#box1','#box2');
function bindCardEvents(){
for (var i=0; i<cards.length; i++){
var targetID = '#'+$(cards[i]).attr('id');
$(targetID)
.mouseenter(function() {
TweenMax.to(targetID,0.3, {opacity:0.5} )
}).mouseleave(function() {
TweenMax.to(targetID,0.3, {opacity:1})
});
}
}
bindCardEvents();
谢谢
【问题讨论】:
-
我建议为所有这些添加一些类选择器(如
.card),或使用[id^=box]选择器 -
你的错是事件理解不正确(或 js 闭包)当事件触发时
targetID已经被下一个循环迭代覆盖...
标签: jquery loops for-loop bind unbind