2

コードのボタンを押すと、コードの最初に戻りたいので、コードを最初からやり直すことができます。たとえば、これが html にある場合:

<div id='a'></div>
<div id='b'></div>
<div id='c'></div>
<div id='d'></div>

そして、jqueryは次のようになりました

 $(document).ready(function(){
    $('#a').click(function(){
      $('#a').hide();
      $('#b').toggle(400)
      $('#c').css('margin', '100px)
    });
 });

ユーザーがa、ab、cをクリックすると消えますが、dをクリックしてもう一度やり直すと、abとcが再び表示されます

4

6 に答える 6

0

これはどう:

$('#d').click(function(){
  $('#a').show();
  $('#b').show();
  $('#c').css('margin', '0');
});

データ API を使用して、初期状態を保存することもできます (それらをループすることにより)。

 $("#a").data("original-state", $("<div></div>").html($("#a").clone())).html());

その後、次のように復元します。

$("#a").replaceWith($("#a").data("original-state"));
于 2013-05-29T17:31:58.390 に答える
0

最初にクリックの代わりに使用します(そうしないと、私の方法では機能しません)。

「テンプレート」も保存します。したがって、DOM 対応のコードは次のようになります。

var template;
$(document).ready(function(){
    template = $('body').html();
    $(document).on('click', '#a', function(){
      $('#a').hide();
      $('#b').toggle(400)
      $('#c').css('margin', '100px)
    });
});

そして、私はそのイベントを追加します:

$(document).on('click', '#d', function(){
    $('body').html(template)
})

$('body')あなたのボタンの親コンテナに変更します。

于 2013-05-29T17:33:55.967 に答える
0

これを行うには多くの方法があります。しかし、id="d" を表示したい場合は、クラス "button" を追加するだけです。この手法には常にクラスを使用することを忘れないでください。

<div id='a' class="button"></div>
<div id='b' class="button"></div>
<div id='c' class="button"></div>
<div id='d' class="reset"></div>

そしてjQueryは

$(".button").click(function(){
  $(".button").not(this).hide("slow");
});
$("#d").click(function(){
  $(".button").show("slow");
});
于 2013-05-29T17:34:18.713 に答える
0

私は次のようにしました:http://jsfiddle.net/e57F9/1/

<div class="foo">
    <div id='a'>a</div>
    <div id='b'>b</div>
    <div id='c'>c</div>
    <div id='d'>d</div>
</div>

これを使ってリセット

// Make an original copy just in case they click 'd' first
var originalHtml = $(".foo").clone();
var clearCount = 0;
$(document).on("click", "#a", function(){
  // Backup the state right before clicking
  originalHtml = $(".foo").clone();
  $("#a").hide();
  $("#b").toggle(400);
  $("#c").css("margin", "100px");
});
$(document).on("click", "#d", function () {
  // Restore the object
  $(".foo").replaceWith(originalHtml.clone());
  clearCount++;
});
于 2013-05-29T17:45:47.990 に答える