我想在网站上放置一些文字,以便它在一段时间(比如2秒)的延时后改变颜色onmouseover并返回原始颜色onmouseout。在一段时间后更改字体颜色
是否可以使用JavaScript来做到这一点?
我想在网站上放置一些文字,以便它在一段时间(比如2秒)的延时后改变颜色onmouseover并返回原始颜色onmouseout。在一段时间后更改字体颜色
是否可以使用JavaScript来做到这一点?
下面是使用setTimeout的工作示例;
css: .text { color:red; } .text.hover { color:yellow; }
的javascript:
var timeoutId = null;
$(".text").hover(function() {
if (timeoutId != null) {
clearTimeout(timeoutId);
timeoutId = null;
}
$(this).addClass("hover");
}, function() {
var $element = $(this);
timeoutId = setTimeout(function() {
$element.removeClass("hover");
}, 500);
});
这里是的jsfiddle:
这种功能应该由CSS3提供可用的地方,而不涉及的setTimeout的或其他种类的JavaScript。因此,假设你会选择IE先前提出的JavaScript解决方案之一,简单地使用这个CSS的所有其他现代浏览
HTML/CSS
<span>hover me</span>
span {
color : green;
-webkit-transition : color 2s linear;
-msie-transition : color 2s linear;
-moz-transition : color 2s linear;
-o-transition : color 2s linear;
transition : color 2s linear;
}
span:hover {
color : red;
}
纯CSS3的解决方案是可以接受的吗? – fcalderan 2012-04-16 13:28:35
你有试过什么吗? SO不是“给我编码”或“我可以这样做吗?”的地方。 SO不是谷歌。 – 2012-04-16 13:33:50