2

何らかの理由で、jQuery を順番に実行させることはできません。

参照: http://jsfiddle.net/Az9E2/

ボタンをクリックして、次の機能を順番に実行したいと思います。

  1. focusテキストエリアに渡す
  2. box-shadowテキストエリアに a を追加
  3. の遅延100ms
  4. transitionクラスをテキストエリアに追加する
  5. を取り外して、よくbox-shadow見てくださいfade out

しかし、私がそれを行うと、すべてが一度に行われるため、box-shadow決して表示されません。

または、最終段階を削除すると、ボックスの影fades in、(4) が (2) の前に発生することを意味します。

何かご意見は?

4

3 に答える 3

2

.delay() メソッドは、キューに入れられた jQuery エフェクト間の遅延に最適です。制限があるため (たとえば、遅延をキャンセルする方法は提供されません)、.delay() は JavaScript のネイティブな setTimeout 関数に代わるものではなく、特定のユース ケースにより適している場合があります。

ソース: http://api.jquery.com/delay/


もちろん、あなたが言及した他のポイントはすべて(目に見える)一度に発生します。これは、それを妨げる遅延がないためです。


試してください:http://jsfiddle.net/JH4fM/2/

$('#change').on('click', function () {
  var $el = $(".snapp_view_ask_question_textarea");

  $el.focus().css("box-shadow", "rgba(139, 0, 0, 0.5) 0px 0px 30px 2px");
  setTimeout(function () {
    $el.css("box-shadow", "");
  }, 400);
});
于 2012-09-04T12:13:58.647 に答える
0
function ChangeStory(){

 $(".snapp_view_ask_question_textarea").focus().css("box-shadow", "rgba(139, 0, 0, 0.5) 0px 0px 30px 2px").addClass("textarea_transition");
 setTimeout(function(){$(".snapp_view_ask_question_textarea").css("box-shadow", "");}, 400);

}
于 2012-09-04T12:27:02.080 に答える
0

delayjquery の関数を使用して何かを構築します。

ここでデモを見つけることができます

于 2012-09-04T12:30:37.497 に答える