onclick事件只在javascript中调用一次

时间:2018-04-08 22:34:33

标签: javascript

我在游戏中有两个精灵,一个玩家和一个老板。 当我点击一个html按钮"攻击一个","攻击两个"等我改变了一个受攻击的老板的精灵(老板改变的动画),我在html中添加了一个div,这是一个泡泡(我的游戏中的子弹)我在这个div上创建了一个动画,所以泡泡朝着老板。

一旦泡泡触及老板,我就会删除与泡泡相关的div,并将老板精灵放回原来的精灵(当老板没有受到攻击时)。

我的代码效果很好,但只有一次。如果我在没有重新加载页面的情况下重新点击按钮,它就不起作用。

那么,为什么它只能工作一次?

谢谢!



function attack_one() {
    document.getElementById("attack_one").onclick = () => {
        boss = new TiledImage("sprites/attackedBoss.png", 8, 2, 200, true, 1, "boss");
        boss.changeMinMaxInterval(1,8);
        document.body.innerHTML += '<div id="bubble"></div>';
        let x = 330;
        if(x < 500) {
            tick();
        }
        function tick() {
            if(x < 500) {
                document.getElementById("bubble").style.left = x + "px";
                x+= 4;
                window.requestAnimationFrame(tick);
            }
            else {
                document.getElementById("bubble").outerHTML = "";
                setTimeout( () => {
                    boss = new TiledImage("sprites/standingBoss.png", 8, 2, 200, true, 1, "boss");
                    boss.changeMinMaxInterval(1,8);
                }, 1000);
            }
        }
    }
}
&#13;
&#13;
&#13;

0 个答案:

没有答案