我想在鼠标悬停时为一些导航按钮触发多个动画。我想在函数中指定所有动画和参数,并在鼠标悬停在该按钮上时为每个按钮调用它。到目前为止,我只能将它应用于按钮的所有实例。我尝试在函数中使用“(this)”,但它不起作用。
<script type="text/javascript">
$(document).ready(function(){
function navmouseover1() {
$(this).animate({ left:"+=10",top:"+=10",width:"-=20px",height:"-=20px",opacity:1 },100 );
}
$("#nav1").mouseover(function() { navmouseover1(); });
$("#nav2").mouseover(function() { navmouseover1(); });
});
答案 0 :(得分:2)
您可以使用此功能,但您需要将事件绑定到您的函数,而不是将其包装在另一个函数中。例如:
$('#nav1').mouseover(navmouseover1);
您现在遇到的问题是正在为事件侦听器正确设置“this”变量,但是,因为您从该事件侦听器内部调用函数,它具有不同的范围。