如何撤消更改?

时间:2015-04-24 22:25:10

标签: jquery twitter-bootstrap

我正在为孩子们制作教育游戏,但我遇到了一个大问题。 这是第一级:

    <div class="row" id="one">
    <div class="col-md-12">
        <div class="col-md-3">
            <img src="img/ananas.png" class="img-responsive dimenzii">
            <h3 class="drop1" id="drop1">______________</h3>
        </div>
        <div class="col-md-3">
            <h1 class="green" id="dr2">Кокос</h1>
        </div>
        <div class="col-md-3">
            <h1 class="green" id="dr1">Ананас</h1>
        </div>
        <div class="col-md-3">
                <img src="img/coconut.png" class="img-responsive dimenzii">
               <h3 class="drop2" id="drop2">______________</h3>
        </div>


    </div>
</div>

我有4列,外面是水果图片,里面的两个包含水果的名称,所以任务是连接两个。 它工作正常。 问题是游戏何时结束,问题是&#34;你想再玩一次吗?&#34; 如果单击是,则显示为显示第一个级别,但名称已经拖到之前的位置。

我尝试手动将级别更改为先前的状态,但它无法正常工作。 这是我使用的jquery:

    $("#begin,#Yes").click(function(){
    $("#begin").hide();

    game.play();
    points = 0;
    $("#stazi").show();
    $("#final, #one,#two,#three,#four,#five,#six,#seven,#eight").hide();
    $("#one").show();
    $("#poeni").html(points);
    $(".drop1,.drop2").html("_____________");
    $("#dr1,#dr2").show();
    setTimeout( function(){

            game.pause();
            $("#stazi").fadeOut(1000);
            $("#finalPoints").html(points);

            $("#final").delay(1000).fadeIn(2000);
            win.play();

        }
        , 60000 );


});

任何人都可以告诉我如何保存初始条件,以便我以后可以使用它?

1 个答案:

答案 0 :(得分:3)

您可以在开始之前将初始状态保存为变量。如果级别不是太大,你可以使用jQuery的.clone()来复制它,但实际上并没有把它放在DOM中。当您准备重置游戏时,您可以使用.replaceWith()销毁DOM上的那个,并将其替换为初始状态的保存副本。

var initialState = $(levelId).clone();

// do stuff that modifies the level

$(levelId).replaceWith(initialState);