0

オブジェクトをクリックすると、2 つのことが起こります...テキストを含む div が表示され、キャラクターが短いスプライト アニメーションを再生します。ただし、最初の再生後にスプライト アニメーションを完全に削除したいと考えています。div テキスト ボックスを引き続きクリックで切り替えたい。

これは私が持っているものです:

$(function () {
$("#chalkboardweare").click(function () {
    $("#boxweare").animate({width: 'toggle'}, 500);
            $("#dude").sprite({fps: 50, no_of_frames: 50, play_frames: 50});
});
});

この時点で、「#chalkboardweare」オブジェクトをクリックするたびに、「#boxweare」と「#dude」が切り替わります...

クリックするたびに「#boxweare」divを切り替えたい。

最初のクリック後にのみ「#dude」divを切り替えたい。

誰かがこれで私を助けることができますか?

ありがとう!

4

2 に答える 2

1

使用.one()- 「これを一度だけ行う」という意味です。クリックすると (この場合)、バインドは削除されますが、バインドは保持されます.on()

$("#chalkboardweare").one('click', function () {
    $("#dude").sprite({fps: 50, no_of_frames: 50, play_frames: 50});
}).on('click', function () {
    $("#boxweare").animate({width: 'toggle'}, 500);
});
于 2013-01-12T22:41:27.680 に答える
0

私の戦略は#dude、アニメーションを実行する前にその属性の値をテストできるように、アニメーションの後に data 属性を追加することです。これが私の新しいコードです:

$(function () {
   $("#chalkboardweare").click(function () {
      $("#boxweare").animate({width: 'toggle'}, 500);
      if ( !($("#dude").data("played")) )
         $("#dude").sprite({fps: 50, no_of_frames: 50, play_frames: 50}).data("played",true);
   });
});
于 2013-01-12T22:22:38.970 に答える