0

複数の div を動的に作成したい。それぞれが一定時間後に自分自身を削除する必要があります。div を作成し、時間をカウントダウンする関数があります。相互に接続する方法がわかりません。もう 1 つの質問は、動的に追加された要素の ID を管理する方法です。

function creatediv(e)
{
    ward = document.createElement('div');
    ward.className="dynamic";
    ward.id = id;
    id++;
    ward.style.pixelLeft = mouseX(e);
    ward.style.pixelTop = mouseY(e);
    document.body.appendChild(ward);    
}

function timer(ID, time)
{
    if(time > 0)
    {   
        --time;
        s=time%60;
        m=Math.floor((time%3600)/60);
        var S = document.getElementById(ID);
        S.style.color = "white";
        document.getElementById(ID).innerHTML =((m<10)?"0"+m:m)+":"+((s<10)?"0"+s:s);       
        setTimeout(function () {timer(ID,time)}, 1000);     
    }
    if(time == 0)
    {
        return true;
    }   
}

どんなヒントでも大歓迎です。ありがとう

4

1 に答える 1

0
function creatediv(e) {
    ward = document.createElement('div');
    ward.className = "dynamic";
    ward.id = id;
    id++;
    ward.style.pixelLeft = mouseX(e);
    ward.style.pixelTop = mouseY(e);
    document.body.appendChild(ward);
    timer(ward.id, THE_TIME_YOU_WANT);
}

function timer(ID, time) {
    if (time > 0) {
        --time;
        s = time % 60;
        m = Math.floor((time % 3600) / 60);
        var S = document.getElementById(ID);
        S.style.color = "white";
        S.innerHTML = ((m < 10) ? "0" + m : m) + ":" + ((s < 10) ? "0" + s : s);
        setTimeout(function () {
            timer(ID, time)
        }, 1000);
    }
    else {
        // remove the div.
    }
}
于 2012-05-24T16:14:57.110 に答える