2012-02-22 6 views
0

このnavbarにドロップダウンulを付けました。バックグラウンドホバーを削除するJq mouseleaveは、通常のCSSホバーを防止します。

<ul class="topbar-nav"> 
<li><a href="index.php">Home</a></li> 
<li><a href="services.php" class="fixed_hover">Services</a> 
    <ul class="drop_down"> 
     <li><a href="#">lorem</a></li> 
     <li><a href="#">lorem</a></li> 
    </ul> 
</li> 
<li><a href="contact.php">Contact</a></li> 
</ul> 

私はちょうど "topbar-NAV李"

ul.topbar-nav a.selected, ul.topbar-nav a:hover{ 
    color:#000; 
    background:url(img/nav_hove.png) no-repeat; 
    margin:0; 
    padding-top:2px; 
    } 

のホバー状態のCSSを入れて、ここにslideDown /アップdropdownmenuにJQコードをあるでしょう。

function mainmenu(){ 
$(" .topbar-nav ul ").css({display: "none"}); 
$(" .topbar-nav li ").hover(function(){ 
    $(this) 
     .find('ul:first:hidden') 
     .css({visibility: "visible",display: "none"}) 
     .slideDown(400); 

    },function(){ 
     $(this) 
      .find('ul:first') 
      .slideUp(400); 
    }); 
} 
$(document).ready(function(){ 
    mainmenu(); 
}); 

を(私はチュートリアルからこのコードを持って)、すべてが完璧ですが、私は(ul.topbar-NAV李にnav_hove.png背景を割り当てる)CSSのホバールールが存在する場合になりたいですあなたはドロップダウンメニュー項目の上にホバリングしているので、私はCSSでそれをすることができなかったので、私はjqueryでそれを試してみることにしました。 。ここではそのための私の厄介なコードは次のとおりです。

$(function fixed_hover(){ 
    $("ul.drop_down li").hover(function fixed_hover(){ 
      $(".fixed_hover").css('background', 'url(img/nav_hove.png) no-repeat'); 
     } 
    ); 
}); 
$(function fixed_hover2(){ 
     $("ul.drop_down li").mouseleave(function fixed_hover2(){ 
      $(".fixed_hover").css('background', 'none'); 
     } 
    ); 
}); 

私は助けのいずれかの種類を感謝します、と私はちょうどこのくらいを読み取るため、事前に皆さんに感謝します。あなたがそれについてのより多くの情報を必要とするならば、私に知らせてください、私は自分自身を明確にしたいと思っています。あなたの第二の機能で

答えて

2

、代わりなしのブランク値にプロパティを設定してみてください、そうのように:

$(".fixed_hover").css('background', ''); 

そうでない場合、あなたはすでに選択のためのクラスを使用しているので、なぜ単に追加と削除しませんそれ?

$(function fixed_hover(){ 
    $("ul.drop_down li").hover(function fixed_hover(){ 
      $(".fixed_hover").addClass('selected'); 
     } 
    ); 
}); 
$(function fixed_hover2(){ 
     $("ul.drop_down li").mouseleave(function fixed_hover2(){ 
      $(".fixed_hover").removeClass('selected'); 
     } 
    ); 
}); 
+0

完璧な、あなたはあなたのおかげで、私の一日をクリスチャンにしました。 Btwには、css()に複数のcssパラメータを追加する方法があります。そこにはパディングを追加することができます。まあそれに答える必要はありません;)。再度ありがとう – Zagen

+1

いいえ心配:)。 '.css({'left':0、 'opacity':0.5})'など –

1

このようなあなたの要素にクラスを追加してみてください:あなたの答えの両方が私のために働いた

しかし、あなたのCSSでそのクラスを作成するようにしてください...

$('.myDiv').hover(function(){ 
    $(this).addClass('active') 


    },function(){ 
    $('.myDiv').removeClass('active') 
    }); 
+0

残念ながら、それは私のためには機能しませんでした。私のDreamweaverは構文について教えてくれますあなたのコードに誤りがあります。クラスを作成しましたが、jqコードに慣れていないので、コードの誤りがバグかどうかわかりません。いずれにしても、本当にありがとうございます。 ;) – Zagen

+0

あなたは正しかった!このコードは今働いています... 楽しいしてください:) –

関連する問題