在某些网站上我看到了这种效果:如果我悬停一些菜单背景颜色不会立即改变,但它会在某个特定时间发生变化,看起来它是动画,我怎么能得到这种效果?
答案 0 :(得分:4)
这可以通过css3 transition
(不使用javascript)轻松完成,也可以通过旧浏览器上的特定属性进行动画
e.g。 http://jsbin.com/ulayum/3/edit
a {
color: 000;
-webkit-transition: color 2s;
-msie-transition: color 2s;
-moz-transition: color 2s;
-o-transition: color 2s;
transition: color 2s;
}
a:hover {
color: #ccc;
}
答案 1 :(得分:2)
您想要了解的是 CSS过渡效果。 Googled Results
看看这个基本的jsFiddle当你悬停时,背景颜色渐渐变为红色。
CSS
div{
background-color: blue;
-webkit-transition: background-color 1000ms linear;
-moz-transition: background-color 1000ms linear;
-o-transition: background-color 1000ms linear;
-ms-transition: background-color 1000ms linear;
transition: background-color 1000ms linear;
}
答案 2 :(得分:0)
这可能就是你要找的东西
$("div").hover(function () {
$(this).effect("highlight", {}, 3000);
});
答案 3 :(得分:0)
您可以使用javascript“setTimeout”函数为效果添加延迟..类似
使用jquery悬停事件的伪代码:
.... .hover(function() {
//on mouseover
setTimeout(FunctionThatDoesSomethingCool(), 3000); //3000 = delay/milliseconds
},
function() {
//mouseout
}
}); //end hover event
答案 4 :(得分:0)
我认为你想要的是一个像这样的插件,所以看看:hoverintent
答案 5 :(得分:0)
$(selector).mouseover(function(){
// change color
}).delay('time');