0

这是代码:

for (i = 0; i < 8; i++) {
    var meun = document.createElement("div");

    meun.setAttribute('id', i);
    meun.setAttribute("style", "width:70px; height:70px; background:url(archive/" + i + ".jpg); background-size: 70px 70px; float:left; margin-top:10px; opacity:1");
    document.body.appendChild(frame);
    document.getElementById("frame").appendChild(meun);

    meun.addEventListener('click', function () {
        window.location.href = "i+'.html'"
    }, false);
}

我遇到的问题是addEventListener:如何将变量传递ihref?我想这是语法问题。

4

2 回答 2

3

不仅是语法问题,还需要一个闭包:

(function(x) {
    meun.addEventListener('click', function(){window.location.href = x + '.html'}, false);
})(i);
于 2012-11-27T16:29:55.003 回答
2

如果你想使用变量i,不要把它放在引号中,这意味着字母“i”:

meun.addEventListener('click', function() {
    window.location.href = i + '.html';
}, false);
于 2012-11-27T16:28:14.730 回答