我正在开发一个网页(使用 jquery),用户可以在其中向 DOM 添加新的图形控件(例如,用户单击链接并创建新的 DIV)。我怎样才能改变这个新元素的背景颜色几秒钟(然后它会恢复到原来的颜色)?我想更改颜色以向用户提供有关新元素位置的视觉指示。
谢谢。
我正在开发一个网页(使用 jquery),用户可以在其中向 DOM 添加新的图形控件(例如,用户单击链接并创建新的 DIV)。我怎样才能改变这个新元素的背景颜色几秒钟(然后它会恢复到原来的颜色)?我想更改颜色以向用户提供有关新元素位置的视觉指示。
谢谢。
有很多库可以为您执行此操作(以及许多其他令人印象深刻的图形效果),例如jQuery、MooTools和Prototype。例如,查看这个 StackOverflow 问题,了解如何使用 jQuery 来实现这种效果。
更一般地说,您会使用 Javascript 的setTimeout
方法将元素的颜色设置为一段时间,然后当超时运行时,将其设置回其正确/原始颜色。
看起来最简单的不使用插件的解决方案是使用 jquery UI 的“突出显示”功能。
这是一个使用 jQuery.animate() 的示例。它不使用颜色,但不透明度:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
div {
width: 300px;
height: 300px;
border: solid #000 1px;
}
</style>
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
$(function() {
$("div").click(function() {
$("<span>Hello there!</span>").appendTo(this)
.animate({
opacity: 0
}, 500, function() {
$(this).animate({
opacity: 1,
}, 500);
});
});
});
</script>
</head>
<body>
<div></div>
</body>
</html>