$(function(){ $('#e3').hover(function(){ //setTimeout(function(){$('#e3').animate({"right":"0"},355)}, 400); $(this).animate({"right":"0"},355); },function(){ // $(this).animate({"right":"-85px"},355); setTimeout(function(){$('#e3').animate({"right":"-85px"},355)}, 400); }); $('#e4').hover(function(){ $(this).animate({"right":"0"},355); },function(){ $(this).animate({"right":"-85px"},355); });});你原来写的不挺好的么,怎么改成这幅样子了,看着就不舒服 ------------ setTimeout肯定要放在 onmouseover里面才行,放外面不扯淡么