2012-02-19 3 views
0

私はスライドアップのフッターを持っていますが、divの上でマウスを動かすとdivのジャンプが起こりますが、内容は、私はここでビデオを作成しました:http://screencast.com/t/CDQUDQP3あなたはそれをよりよく理解することができます。マウスがdivにあるときだけホバー上でJqueryを有効にする

var $footer   = $('footer'), 
     $footerHeader = $('.footer-header'), 
     $footerDisplay = $('.footer-display'), 
     $totalHeight = ((parseInt($footerDisplay.css('height'))) + 50)+'px'; 
$('footer').stop(1,1).hover(function(){ 
    //mouse in 
    $footerHeader.css('visibility','hidden'); 
    $footerDisplay.stop(1,1).slideUp(function(){ 
     $(this).show(); 
     $footer.css('height',$totalHeight); 
    }); 
    $footer.stop(1,1).animate({'margin-top':'-'+$totalHeight}); 

},function(){ 
    //mouse out 
    $footer.stop(1,1).animate({'margin-top': '-57px','height':'57px'}); 
    $footerDisplay.stop(1,1).slideUp(); 
    $footerHeader.css('visibility','visible'); 
}); 

そしてHTML::あなたはhoverIntent、jQueryプラグインを必要とする

<footer> 
    <div class="footer-header"> 
     <h3> 
      <span class="sprite arrow-footer"><!-- dirty hack--></span> 
      OPEN 
     </h3> 
    </div><!--end footer-header--> 

    <div class="footer-display clearfix"> 
      <?php dynamic_sidebar("the_footer"); ?> 
    </div><!-- end footer-display--> 
</footer> 
+1

あなたのウェブサイトのライブデモはスクリーンキャストよりはるかに便利です。 – Blender

+0

何が間違っているのか分かりませんが、stop(true、true)のように、ストップ内のすべての数値をブール値に変更してみてください。 – adeneo

+0

あなたが持っているすべての単一のJS変数の前に '$'を付けないでください。変数にjQueryオブジェクトが含まれていることを明確にするためにこれを行うことは容認できるかもしれませんが、totalHeightは単純な文字列です。これはPHPではありません。 – TheShellfishMeme

答えて

0

は、ここに私のコードです。 doc:

hoverIntentは、マウスの動きだけで水晶球のようなユーザーの意図を判断しようとするプラグインです。これは、jQueryの組み込みのホバーのように機能します。しかし、すぐにonMouseOver関数を呼び出すのではなく、ユーザーのマウスが通話を開始するまでに十分に遅くなるまで待ちます。

続きを読むhereをダウンロードしてください。

関連する問題