22. 2月 2012 · 2 comments · Categories: WEB制作 · Tags: ,

jQueryの1.4以上から遅延処理を行なうdelayが登場していることを知って、遅延処理ならさくっと終わるじゃーんと思って入れたものの動かなかったでござる。

理由は、delayはアニメーションにしか効かないから。もともとのキュー(queue)がアニメーションするものにしか有効でないためだろう。だから、「何秒後にこのクラスを変える」というのがdelayではできなかった。

ということで、animateを使うことに。

opacityを1.0、つまり見た目は変更せずに1秒経ったあとでcompleteの関数を実行。
hoverはマウスオーバーとマウスアウトが交互にイベント実行されるので、toggleにしておけばひとつの関数で済む。

実装したのは結局もうひとつfunction作って、

$(this).clearQueue().stop().removeClass(‘hover_submn’);

としたけど。clearQueueとstopはどちらかで良いかも。


2件のコメント

  1. [jQuery] addClass/removeClass/toggleClassをdelayする | @mekemoke http://t.co/kXgpKE14

  2. [jQuery] addClass/removeClass/toggleClassをdelayする | @mekemoke http://t.co/rfwQFFgc