1

如何使 div 框在鼠标悬停时缓慢改变颜色。

js代码

$('#link').animate({ backgroundColor: "#f6f6f6" }, 'slow', function(){
 $('#link').animate({ backgroundColor: "#f6f6f6" }, 'slow');
 })

CSS代码

#link
{
width:500px;
height:52px;
border:dashed #666 2px;
margin-top:293px;
}

html代码

<div id="link"></div>
4

3 回答 3

4

使用 CSSanimation

演示

CSS

#link
{
    width:500px;
    height:52px;
    border:dashed #666 2px;
    margin-top:293px;
}

#link:hover {
        animation: color 1s ease-in-out 0 1 normal both;
}

@keyframes color {
    0% { background: white; }
    100% { background: #F6F6F6; }
}

使用 CSStransition

演示

CSS

#link
{
    background: transparent;
    width:500px;
    height:52px;
    border:dashed #666 2px;
    margin-top:293px;
    transition: background .5s ease-in-out;
}
#link:hover {
    background: red;
}
于 2013-06-15T10:08:55.853 回答
0

你去吧。你可以使用 jquerymouseovermouseleave事件

$("#link").on("mouseover",function(){
   $(this).animate({backgroundColor:"red"},'slow');
}).on("mouseleave",function(){
   $(this).animate({backgroundColor:"white"},'slow');
});

您还需要JQuery UI 库来完成这项工作。animate是 JQuery UI 库的一部分。

这是Jfiddle

于 2013-06-15T10:14:50.330 回答
-1

您可以使用这样的javascript函数

  var div = document.getElementById( 'div_id' );
  div.onmouseover = function() {
    this.style.backgroundColor = 'green';
    var h2s = this.getElementsByTagName( 'h2' );
    h2s[0].style.backgroundColor = 'blue';
  };
  div.onmouseout = function() {
    this.style.backgroundColor = 'transparent';
    var h2s = this.getElementsByTagName( 'h2' );
    h2s[0].style.backgroundColor = 'transparent';
  };
于 2013-06-15T10:06:39.053 回答