我敢说我的这个是你想要的:
$(function(){
var old = null;
$("#menu li").hover(
function(e) {
if(old==null) old = $(this).siblings(".active");
$(this).addClass("active").siblings().removeClass("active");
},function(e){
old.addClass("active").siblings().removeClass("active");
});
});
推荐答案中的默认样式,会随着鼠标移出,而移除原本样式。
$(function(){
// 找到最初有你那个Class元素
var $def = $('li[class="active"]'), index = $def.index();
$('li').hover(
function (e) {
$(e.target).addClass('active').siblings().removeClass('active');
}, function (e) {
var $target = $(e.target);
// 删除当前,然后找到当初的那个
if ($target.index() !== index) {
$target.removeClass('active');
$def.addClass('active');
}
});
});
$("#menu li").hover(function(e) {
$(this).addClass("active"); },
function(e){
$(this).removeClass("active")
})
拉了个括号!试试这个!
$("#menu li").hover(function(e) {
$(this).addClass("active"); },
function(e){
$(this.removeClass("active")
})
把两件事,放到两个方法里写。