你怎么建议我这样做?
我有一个menue,默认情况下突出显示(给活动类)到div列表中的第一个div。我需要做的是:当你在父div(列出其他div,列表)内时,有正常的悬停动作。当您离开父div时,最后突出显示的div保持活动状态。合理?均田?
这是我到目前为止所拥有的。 catListInner1是父div,其他的分组。
var aCl = jQuery.noConflict();
aCl(document).ready(function() {
//takes the initial active class off of the first div.
aCl("#catListInner1").live({
mouseenter: function() {
aCl("#catListInner1 div:first").removeClass().addClass('catListOther');
}
});
aCl(".catListOther").live({
mouseenter: function(e) {
// aCl("#catListInner1 div:first-child").removeClass('catListAct');
aCl(this).removeClass().addClass('catListAct');
},
mouseleave: function(e){
aCl(this).removeClass().addClass('catListOther');
},
});
});
答案 0 :(得分:1)
我不知道我是否理解这一点,但你想要的是在悬停时突出显示一个元素(在这种情况下为div
),如果你悬停同一个类的另一个元素,则只删除此突出显示?
如果是这样的话,这就是我要做的事情:
$('element').mouseenter(function(){
$('element.class').removeClass('class');
$(this).addClass('class');
});
这样做,从所有元素中删除悬停类,并应用于当前悬停元素。当鼠标离开当前元素时,没有任何反应。
答案 1 :(得分:0)
这就是最终为我工作的东西::
var aCl = jQuery.noConflict();
aCl(document).ready(function() {
var currentId
aCl(".catListOther").live({
mouseenter: function(e) {
aCl('.catListAct').not(aCl(this)).removeClass().addClass('catListOther');
aCl(this).removeClass().addClass('catListAct');
currentId = aCl(this).attr('id'); //get the ID of the last div you visited
}
});
aCl(".catListAct").live({
mouseleave: function(e){
aCl(this).removeClass().addClass('catListOther');
},
});
aCl('#catList').live('mouseleave', function() {
aCl("#" + currentId).removeClass().addClass('catListAct');
//when leaving parent div, add the class back to the last div you visited in the list
});
});