2012-04-23 69 views
1

我写了下面的代码:在悬停上切换课程?

$(document).ready(function() { 
    $("#rade_img_map_1335199662212").hover(function() { 
     $("li#rs1").addClass("active"); //Add the active class to the area is hovered 
    }, function() { 
     $("li#rs1").addClass("not-active"); 
    }); 
}); 

问题是,它似乎没有切换悬停类?

但是我怎样才能得到它,以便该类基于悬停和非悬停..切换?

+0

您是否也有html代码? – 2012-04-23 17:24:31

回答

9

不要悬停出添加不同类只是删除active

$(document).ready(function(){ 

    $("#rade_img_map_1335199662212").hover(function(){ 

     $("li#rs1").addClass("active"); //Add the active class to the area is hovered 
    }, function() { 
     $("li#rs1").removeClass("active"); 
    }); 

}); 

,或者如果所有元素都是不活动一开始你可能会使用一个函数和toggleClass()方法

$(document).ready(function(){ 

    $("#rade_img_map_1335199662212").hover(function(){ 
     $("li#rs1").toggleClass("active"); //Toggle the active class to the area is hovered 
    }); 

}); 
+0

我有13块这样的代码块,我应该小型JS吗? – 2012-04-24 07:57:01

+0

@sp-1986用于生产代码的缩小通常是一个好主意。但如果你只用一个不同的id/class重复相同的代码13次,那么你可以肯定地重新编写逻辑,以便在缩小代码之前将代码缩减为单个*块*的代码。你可以发布HTML和JS吗? – 2012-04-24 08:11:56

+0

增加了另一个问题,对不起,如果它的重复..:http://stackoverflow.com/questions/10294156/add-class-and-fadein-using-jquery – 2012-04-24 08:14:21

1

请尝试如下,

$(document).ready(function() {  
     $("#rade_img_map_1335199662212").hover(function() {  
      $("#rs1") 
      .removeClass("not-active") 
      .addClass("active"); //Add the active class to the area is hovered 
     }, function() { 
      $("#rs1") 
      .removeClass("active"); 
      .addClass("not-active"); 
     });  
    }); 
+0

,如果你知道肯定没有其他类存在或将稍后再添加,你可以对.attr('class','your-class-here')进行overwtire。只是我5美分。 – GnrlBzik 2012-04-23 17:30:44