在jQuery中指定函数的目标

时间:2012-04-21 19:02:47

标签: jquery animation

我想在鼠标悬停时为一些导航按钮触发多个动画。我想在函数中指定所有动画和参数,并在鼠标悬停在该按钮上时为每个按钮调用它。到目前为止,我只能将它应用于按钮的所有实例。我尝试在函数中使用“(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(); });
    });

1 个答案:

答案 0 :(得分:2)

您可以使用此功能,但您需要将事件绑定到您的函数,而不是将其包装在另一个函数中。例如:

$('#nav1').mouseover(navmouseover1);

您现在遇到的问题是正在为事件侦听器正确设置“this”变量,但是,因为您从该事件侦听器内部调用函数,它具有不同的范围。