[Live Demo]的jQuery removeClass除了在電流id
我有徘徊時顯示一定的狀態下的導航菜單,並且還顯示在不同的div文本。
如果用戶不與菜單交互,div自動循環,導航菜單顯示相應的懸停狀態,就好像用戶正在進行交互。
但是,因爲它在循環中,所以如果用戶將鼠標懸停在導航菜單上的另一個鏈接上,我需要在先前突出顯示的元素上移除類別。
我怎樣寫, 「如果ID不是當前懸停的ID,然後removeClass( 'hoverBold')上的所有其他導航鏈接」
[Live Demo]的jQuery removeClass除了在電流id
我有徘徊時顯示一定的狀態下的導航菜單,並且還顯示在不同的div文本。
如果用戶不與菜單交互,div自動循環,導航菜單顯示相應的懸停狀態,就好像用戶正在進行交互。
但是,因爲它在循環中,所以如果用戶將鼠標懸停在導航菜單上的另一個鏈接上,我需要在先前突出顯示的元素上移除類別。
我怎樣寫, 「如果ID不是當前懸停的ID,然後removeClass( 'hoverBold')上的所有其他導航鏈接」
只需添加這hoverIn:
links.removeClass('hoverBold');
你不「T需要採取的類關閉其他元素,因爲當前元素,a:hover.sliderLinks
,股hoverBold
這樣呢?...
$('#nav li').mouseover(function(){
//remove from others
$('#nav li').removeClass('hoverBold');
//add to this
$(this).addClass('hoverBold')
});
喜歡的東西......要做到這一點
$('.myMenu').hover(function() {
$('.myMenu').not(this).removeClass('hoverBold');
});
上面的`.myMenu`在你的例子中是`.sliderLinks`。抱歉,我在閱讀你的代碼之前發佈了這個例子 – fearofawhackplanet 2011-01-20 17:32:51
一個辦法是刪除所有鏈路上hoverBold類,並添加當前鏈路上的它。
$(".sliderLinks").hover(function(){
$(".sliderLinks").removeClass("hoverBold");
$(this).addClass("hoverBold");
},function(){
//..resume the automatic behaviour
});
其他將使用的。傳遞給$(".sliderLinks").each()
在函數內部is()方法,看看它當前元素
$(".myMenu").click(function() {
// store current object
var that = this;
$(".myMenu").filter(function() {
// check object in list is not current object
return this != that;
}).removeClass("hoverBold");
});
基本上你傳遞一個濾波函數和每個對象進行測試。如果過濾器返回false(即this ==那個),那麼該對象將從列表中移除。
超級簡單,工作完美。謝謝,蠻好的! – brianrhea 2011-01-20 17:42:46