2013-08-16 148 views
0

我有這個jQuery代碼替換類名<li class="cat"><li class="cat show">懸停。我徘徊之後它仍然是一樣的。 removeClass代碼有什麼問題?jquery刪除懸停刪除類名

JS

jQuery(".cat").hover(function({ 
    jQuery(this).addClass('show').siblings().removeClass('show'); 
}); 

HTML

<ul> 
    <li class="cat"><a>Motors</a>  
     <ul> 
      <li>Top categories</li> 
      <li> <a href="" aria-haspopup="false">Cars</a></li> 
      <li> <a href="" aria-haspopup="false">Motorcycles</a></li> 
      <li> <a href="" aria-haspopup="false">Parts</a></li> 
     </ul> 
    </li> 
</ul> 
+1

這是一個去JA似曾相識的帖子! – DevlshOne

+1

只需使用toggleClass - > http://jsfiddle.net/3Km6U/ – adeneo

回答

2

jQuery中的懸停事件需要2個回調函數:當指針移動到項目上時,以及當它離開時的一個:

你的情況:

jQuery(".cat").hover(
    function() { 
     jQuery(this).addClass('show'); 
    }, 
    function() { 
     jQuery(this).removeClass('show'); 
    } 
); 

Hover

+0

感謝親愛的作品完美,哇:) – Matt

2

懸停具有兩個功能:懸停IN和OUT懸停。

jQuery(".cat").hover(
    function() { 
    jQuery(this).addClass('show'); 
    }, 
    function() { 
    jQuery(this).removeClass('show'); 
    } 
); 

來源:jQuery api

+1

該死!打敗我吧。西部最快的槍。 – xdumaine

+0

所有事情都是第一次 - 第一次跳躍。 – gibberish

1

jQuery的懸停函數有兩個功能。首先是鼠標懸停功能,其次是鼠標懸停功能。要定義mouseout函數,只需在第一個函數後添加一個逗號並寫入第二個函數即可。

<script type="text/javascript"> 
jQuery(".cat").hover(
    function() { 
    jQuery(this).addClass('show').siblings().removeClass('show'); 
    }, 
    function() { 
    //mouseout stuff 
    } 
); 
</script>` 
1

.hover一般需要2個ARGS功能mouseentermouseleave事件。

但是.hover也支持1個函數參數,它們在mouseentermouseleave上都執行相同的處理函數。

嘗試像下面,

<script type="text/javascript"> 
    jQuery(".cat").hover(function() { //mouse enter 
    jQuery(this).addClass('show'); 
    }, 
    function() { //mouse leave 
     jQuery(this).removeClass('show'); 
    }); 
</script> 
0

您還需要附上了 「mouseout事件」

$(function(){ 
$("selector").hover(function(){ 
//add class here 
}, function(){ 
    //remove class here 
}); 

});

基本上需要兩個參數 使用懸停事件就像是加入了mouseenter和鼠標移開事件

你也可以做到這一點

$(selector).mouseenter(function() { add my class here}); 

,然後裝上鼠標移開

$(selector).mouseout(function() { remove the class here}); 
+0

爲什麼爲什麼 – zod