2011-02-07 112 views
8

可以这样做?jQuery从一个类到另一个褪色元素,在悬停

例如。

.class1{ 
    background-image:(whatever.jpg) 
    color: #fff; 
} 

.class2{ 
    background-image:(whatever2.jpg) 
    color: #999; 
} 

我可以淡化有class1的类class2当鼠标移动到元素中的所有元素,并返回到Class当鼠标离开?

回答

2

如果你给两个相同的绝对位置,使用淡入()和淡出()都会有这样的效果(附着的onmouseover和onmouseout)。

4

我认为this plugin是你在找什么。它允许你在类之间进行动画处理。例如:

$('.class1').animateToClass('.class2', 1000); 
+1

+1这也是我对问题的理解。请注意,对于彩色动画,您需要使用jQuery UI或像http://plugins.jquery.com/project/color – sunn0 2011-02-07 10:17:00

+0

+1这样的插件。我认为jQuery可以动画颜色。 – Olical 2011-02-07 10:19:09

+0

似乎不适合我 – Alex 2011-02-07 10:44:18

15

看一看jQuery UI's extension to addClass。它允许持续时间参数给出动画的可能性。

在这里,我想你想要做这样的事情:

$('.class1').hover(function(){ 
    $(this).addClass('class2', 800); 
}, function(){ 
    $(this).removeClass('class2', 800); 
}); 

显然,你需要安装jQuery UI的这一点。

-2

我认为这可能是帮助全给你....

$('.class1').mouseover(function() { 
    $(this).toggleClass('class2'); 
}); 
17

如果你不想使用插件,你可以做到以下几点:

$(".class1").hover(
function() { 
    $(this).fadeOut(function() { 
     $(this).removeClass("class1").addClass("class2").fadeIn('fast'); 
    }); 
}, 
function() { 
    $(this).fadeOut(function() { 
     $(this).removeClass("class2").addClass("class1").fadeIn('fast'); 
    }); 
}); 
1

这是我的执行:

 $(this).fadeOut("fast"); or $(this).hide(); 
     $(this).removeClass('css1').addClass('css2'); 
$(this).fadeIn("slow"); 
相关问题