• ベストアンサー

jquery 複数のメソッド

1つのid要素に対して、複数のメソッドを同時に動くようにする方法を教えてください。 下記の例を変更して頂きたいです。 ■例 $(function(){ $("#photo").fadeIn(1000).delay(3000).fadeOut(1000); $("#photo").animate({"left":"350px"},5000); }); 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • shiren2
  • ベストアンサー率47% (139/295)
回答No.2

例の場合なら、animateをqueueに登録せず、 即座に実行すれば並列になりますよ。 $(function(){ $("#photo").fadeIn(1000).delay(3000).fadeOut(1000); $("#photo").animate({"left":"350px"},{duration:5000, queue:false}); });

okogedesuga
質問者

お礼

queue:falseが必要だったのですね。 ちゃんと動きました。 ありがとうございました。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

複雑な動作の場合は、自作してコントロールするほうが簡単と思いますが、ご提示の例であれば… 動作を3分割して実行してみると、全体の連続性がうまくなさそうでした。 それなので、連続している右移動に対して他の処理を付加する方法で… 以下、一例です。 var op = function(s){ return s<0.2?s*5:(s<0.8?1:1-(s-0.8)*5); } var p = $("#photo").css("opacity", 0).show(); p.css("opacity", 0).show() .animate({left:350}, {duration:5000, step:function(s){ p.css("opacity", op(s/350)); } });

okogedesuga
質問者

お礼

お世話になっております。 簡単に出来るのかな~?と思っておりましたが かなり難しいですね。 >複雑な動作の場合は、自作してコントロールするほうが簡単 そうなれるように頑張ります・・・。 ありがとうございました。

関連するQ&A