如何使功能extra_stuff
在anim
或display_effects
功能完成后执行?最好的选择是保留函数extra_stuff
直到animate
完成,因为我不想编辑传递给on
方法的匿名函数,它应该保持简单和可读。
<html>
<head>
<meta charset="utf-8">
<script src="jquery-2.0.3.min.js"></script>
<style>
.selected {color:pink;}
</style>
</head>
<body>
<ul id="workers">
<li><a href="#">worker#1</a></li>
<li><a href="#">worker#2</a></li>
<li><a href="#">worker#3</a></li>
<li><a href="#">worker#4</a></li>
</ul>
<script>
$(function()
{
function unmark_selected()
{
$('.selected').removeClass('selected');
}
function mark_user(e)
{
e.addClass('selected');
}
function display_effects(e)
{
e.animate({ fontSize: "24px" }, 1500);
}
function extra_stuff()
{
console.log('maybe another animation');
}
$('ul#workers li a').on('click', function()
{
unmark_selected();
mark_user( $(this) );
display_effects( $(this) );
extra_stuff();
});
});
</script>
</body>
</html>