我无法找到解决此问题的简单方法。
当按钮点击发生错误时,我正试图淡化某些文字的颜色变化。
if (document.getElementById("username").value == ""){ //First Name
$("#login_error").text("Please enetr a username!").css('color', '#FF0000');
$("#username_label").css('color', '#FF0000');fadeIn(3000);
}
我可以改变颜色,但它是即时的。我想让颜色的变化慢慢消失。
谢谢大家!
答案 0 :(得分:8)
如果添加jQuery UI,他们会添加对彩色动画的支持。
阅读http://jqueryui.com/demos/animate/了解详情。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>
$(document).ready(function(){
$(".block").toggle(function() {
$(this).animate({ color: "#FF0000" }, 1000);
},function() {
$(this).animate({ color: "#000000" }, 1000);
});
});
</script>
更新: jQuery现在只提供color plugin来启用此功能,而不包括整个jQuery-UI库。
答案 1 :(得分:1)
你需要使用插件,它不是内置动画的一部分:https://github.com/jquery/jquery-color
答案 2 :(得分:0)
当然.css调用是即时的,fadeIn只是链接(在css更改后启动)
尝试使用animate
答案 3 :(得分:0)
答案 4 :(得分:0)
您可以使用jQuery .animate函数(即
)为css属性设置动画$(this).animate({ height: 250 });
但是,你不能动画颜色,抱歉。为此您需要使用插件,有关详细信息,请参阅this answer。
此外,如果您使用的是jquery UI,则可以:
注意:jQuery UI项目通过允许对颜色等非数字样式进行动画处理来扩展.animate()方法。该项目还包括通过CSS类而不是单个属性指定动画的机制。
(来自http://api.jquery.com/animate/)
您有样本here。
答案 5 :(得分:0)