使用jquery动画背景颜色

时间:2015-10-05 19:58:59

标签: javascript jquery background-color mouseenter

大家好,所以我要做的是使用jquery为按钮背景颜色设置动画。

$(document).ready(function(){
    $('button').mouseenter(function(){
        $('button').animate({
            background-color:"blue"},1000);
    });
    $('button').mouseleave(function() {
        $('button').animate({
            background-color:"white"},1000);
    });
});

我做错了什么?还有一件事,你能解释一下傻瓜吗? :d

P.S。 :我正在使用bootstrap

2 个答案:

答案 0 :(得分:6)

jQuery本身不能为颜色设置动画。您需要使用插件,例如:http://www.bitstorm.org/jquery/color-animation/

除此之外,您可以使用CSS转换,假设您不需要支持IE9或更低版本。

button {
  background-color: blue;
  transition: background-color 1s;
  -moz-transition: background-color 1s;
  -webkit-transition: background-color 1s;
  /* for prettyness only */
  border: 0;
  color: #CCC;
  border-radius: 5px;
  padding: 10px;
}
button:hover {
  background-color: white;
}
button a {
  color: white;
  transition: color 1s;
  -moz-transition: color 1s;
  -webkit-transition: color 1s;
}
button:hover a {
  color: blue;
}
<button><a href="#">Foo bar</a>
</button>

答案 1 :(得分:1)

jQuery并不天真地支持这一点。尝试使用jQuery.color插件:

<script type="text/javascript" src="http://code.jquery.com/color/jquery.color-2.1.2.min.js"></script>