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 に答える