2014-06-25 27 views
-1

所以我是新來的jquery,我亂搞,但我遇到了一個問題。jquery - 當懸停時爲每個錨元素添加不同的類

我得到了5個元素的菜單欄,當我將鼠標懸停在每個元素上時,我想添加一個類。

示例:當我將鼠標懸停在「盤子」上時,我想添加活動類,但其他4個元素應該使類無效。我想在我徘徊時刪除這些類。我該怎麼辦?

在此先感謝!

jQuery的

$(document).ready(function() { 
    $("nav").hover(
     function() { 
      $(this).addClass("active"); 
     }, 
     function() { 
      $(this).removeClass("active"); 
     } 
    ); 
    }); 

HTML

<header> 
<h1>Sushi Lovers</h1> 
<nav> 
    <ul class="nav"> 
    <li> <a href="#">Dishes</a> </li> 
    <li> <a href="#">Lunch</a> </li> 
    <li> <a href="#">Diner</a> </li> 
    <li> <a href="#">Reservations</a> </li> 
    <li> <a href="#">Contact us</a> </li> 
    </ul> 
</nav> 

回答

0

您需要爲目標的a標籤添加類

試試這個

$(document).ready(function() { 
    $("nav li a").hover(

    function() { 
     $(this).addClass("active").parents('ul').find('li a').not($(this)).addClass('inactive'); 
    }, 

    function() { 
     $(this).parents('ul').find('li a').removeClass('active inactive'); 
    }); 
}); 

DEMO

+0

啊我明白了,謝謝!但是現在它只給出了一個Im懸停類「活躍」,但同樣我想讓其他元素讓這個類「非活動」。也許你知道如何做到這一點? – user3189660

+0

@ user3189660 wai我會更新 –

+0

@ user3189660檢查更新的ans&fiddle –

0

您需要爲錨標籤懸停綁定單獨

$(document).ready(function() { 
    $("nav").find("a").hover(
     function() { 
      $("nav").find("a").not(this).addClass("inactive") 
      $(this).addClass("active"); 
     }, 
     function() { 
      $(this).removeClass("active"); 
      $(".inactive").removeClass("active"); 
     } 
    ); 
    }); 
0

這種嘗試:

$(".nav li").hover(
    function() { 
     $(this).siblings('li').removeClass('active').addClass('inactive'); 
     $(this).addClass("active"); 
    }, 
    function() { 
     $('.active').removeClass("active"); 
     $('.inactive').removeClass("inactive"); 
    }); 

你可以更新你的CSS是這樣的:

li.active a{ 
    /* your css props */ 
} 
li.inactive a{ 
    /* your css props */ 
} 
相關問題