0

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

1 回答 1

2

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

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

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

于 2012-04-21T19:04:37.490 回答