2010-09-10 4 views
0

J'ai un lien nommé #link.Lier les couleurs animées dans jQuery?

Il change de couleur après vol stationnaire, comme ceci:

$("#link").hover(function(){ 
    $(this).css({color: '#fed900'}); 
}); 

Tout ce que je veux faire est lisse, changement de couleur animée.

Je sais que je dois mettre Css dans un .animation en quelque sorte, mais ne peut pas comprendre comment.

Je pense que c'est la bonne façon, mais il doens't travail du tout:

$("#link").hover(function(){ 
    $(this).animate({ css({color: '#fed900'}) }, "slow"); 
}); 

J'ai aussi essayé comme ceci:

$(this).animate({ .css({color: '#fed900'}), "slow" }); 

Mais je suis toujours mal en quelque sorte. Un coup de main? Je sais qu'il me manque quelque chose de vraiment petit.

+0

duplication possible de [jQuery animate backgroundcolor] (http://stackoverflow.com/questions/190560/jquery-animate-backgroundcolor) – mercator

Répondre

6

L'appel à .animate() ressemble à ceci:

$("#link").hover(function(){ 
    $(this).animate({ color: '#fed900'}, "slow"); 
}, function() { 
    $(this).animate({ color: '#000000'}, "slow"); //original color 
}); 

You can give it a try here. Mais gardez à l'esprit que vous devez inclure soit the color plugin ou jQuery UI, puisque noyau jQuery ne supporte pas les animations de couleurs.

+0

Brilliant! Je ne sais pas pourquoi pousser la chose .css MAIS ton chemin ne marche pas dans Opera (au moins pour moi)? :> – fomicz

+0

@fomicz - ce que vous incluez le plugin couleur ou jQuery UI? –

+0

Je n'ai que jquery lib. Comment inclure le plugin de couleur? – fomicz

0

vous avez un css({}) errant là-bas, l'appel devrait ressembler à ceci:

$("#link").hover(function(){ 
    $(this).animate({color: "#fed900"}, "slow"); 
}); 
+0

ne fonctionne pas pour moi. – fomicz

4
$("#link").hover(function(){ 
    $(this).stop().animate({ color: '#fed900'}, "slow"); 
}, function() { 
    $(this).stop().animate({ color: '#000000'}, "slow"); //original color 
}); 

utilisation .stop() pour éviter les problèmes du vélo d'animation

0

j'ai eu ce problème pour un long moment. unforutanely toutes les solutions ci-dessus ne

<!DOCTYPE html> 
<html> 
<head> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> 
</script> 
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("button").click(function(){ 
    $("div").animate({ 
     left:'250px', 
     opacity:'0.5', 
     height:'150px', 
     width:'150px', 
color:"#ffffff" 
    }); 
    }); 
}); 
</script> 
</head> 

<body> 
<button>Start Animation</button> 
<p>By default, all HTML elements have a static position, and cannot be moved. To manipulate the position, remember to first set the CSS position property of the element to relative, fixed, or absolute!</p> 
<div style="background:#98bf21;height:100px;width:100px;position:absolute;"> 
</div> 

</body> 
</html> 

peu importe la façon dont je l'ai mis dans le paramètre de la couleur serait ot changement REMARQUE: la jquery bibliothèque ui a été importé trop

Questions connexes