$('.box1').mouseover(function () { $('.box1 .prev').css('display', 'block'); $('.box1 .next').css('display', 'block'); }).mouseout(function () { $('.box1 .next').css('display', 'none'); $('.box1 .prev').css('display', 'none'); });如上代码所示,想要给box1,box2,box3,box44个目标添加事件,除了复制改名还有什么办法。for循环不能用。for (var i = 1 ; i < 5 ; i ++) { $('.box' + i).mouseover(function () { $('.box' + i + ' .prev').css('display', 'block'); $('.box' + i + ' .next').css('display', 'block'); }).mouseout(function () { $('.box' + i + ' .next').css('display', 'none'); $('.box' + i + ' .prev').css('display', 'none'); }); }是我写错了吗
1 回答
慕雪6442864
TA贡献1812条经验 获得超5个赞
闭包问题。
for (var i = 1 ; i < 5 ; i ++) {
(function(i){
$('.box' + i).mouseover(function () {
$('.box' + i + ' .prev').css('display', 'block');
$('.box' + i + ' .next').css('display', 'block');
}).mouseout(function () {
$('.box' + i + ' .next').css('display', 'none');
$('.box' + i + ' .prev').css('display', 'none');
})
})(i)
}
…… 把var改成let也行。
添加回答
举报
0/150
提交
取消