jquery简单的问题: 鼠标经过没有问题。怎么让鼠标离开之后,还原到最初的样式。

2025-03-25 05:25:26
推荐回答(4个)
回答1:

我敢说我的这个是你想要的:
$(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");
});
});

推荐答案中的默认样式,会随着鼠标移出,而移除原本样式。

回答2:

$(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');
                }
            });
});

回答3:

$("#menu li").hover(function(e) {
$(this).addClass("active"); },
function(e){
$(this).removeClass("active")
})
拉了个括号!试试这个!

回答4:

$("#menu li").hover(function(e) {
$(this).addClass("active"); },
function(e){
$(this.removeClass("active")

})
把两件事,放到两个方法里写。