日期:2014-05-16  浏览次数:20365 次

请教一下,我想遍历每个 .box ,当鼠标经过时才出现关闭按钮。但是出现了错误
本帖最后由 jonzrj 于 2014-04-26 11:40:32 编辑
请教一下,我想遍历每个 .box ,当鼠标经过时才出现关闭按钮。但是出现了错误在14行:Uncaught TypeError: Cannot read property 'className' of undefined 


------解决方案--------------------
效果应该是,不管你放到哪个.box的元素上,都是最后一个起作用吧?

这就是传说中的闭包问题了,可以搜索一下闭包,然后就能看到问题的解决方法了。


------解决方案--------------------
for (var i = 0; i < oItem.length; i++) {
                (function (j) {
                    oItem[j].onmouseover = function () {
                        oBoxCloseBtn[j].className += '';
                    }
                })(i);
            }