私は非常にjqueryとコードで新しいです、ここで私は、.mouseoutイベント内にするために、setTimeoutイベントを取得しようとしていますが、私はエディタで構文エラーを取得し続けるように、 。ここで私が持っているものです。jquery小さなエラー
jQuery(document).ready(function() { $('.slidedown').hide(); $('.trigger').hover(function(){ // enter animation $('.slidedown').stop(true,true).animate({ height: ['toggle', 'swing'], }, 600, function() { /* animation done */ }); }, function(){ // leave animation $('.slidedown').mouseout() setTimeout(function(){ $('.slidedown').stop(true,true).animate({ height: '0px', }, 600, function() { /* animation done */ }); }, 1000); }); });
小さなニュアンスは、このコードではdiv要素の上にマウスを置いたユーザは、その後、別のdivは、それが滑り落ちる怒鳴ります。 .slidedown divにマウスを移動すると、マウスが削除されるまで開いたままにしておく必要があります。しかし、このコードは.triggerの後に.slidedownにマウスを乗せずに.triggerから別のページ領域にマウスを直接移動させると、.slidedown divを折りたたむでしょうか?私は、ある種の 'setTimeout'を必要とします。これは、ユーザが.trigger上にマウスを乗せた後にマウスを.slideownに移動しない場合にのみトリガされます。私は理にかなっていると思う。ご協力いただきありがとうございます!
**オフトピック**、しかしそれらの抱擁コンマあなたの 'height:'行の後ろのようなものです)、IE7以前は、それらを脅かすでしょう:http://blog.niftysnippets.org/2010/09/literal-improvement.html –
オフトピック: 'mouseoutあなたがあなたの子供の上を移動するときに親要素を起動します(気泡のため)。代わりに、IE特有ですが、jQueryでエミュレートされる 'mouseleave'を考えるかもしれません(例:安全に使うため)。http: /api.jquery.com/mouseleave/ –
@Crowderは、オブジェクトリテラルの最後のプロパティがIE7以下をチョークした後に、ダングリングカンマです。 – Arnab