在此代码中需要有关mouseout事件的帮助

时间:2013-05-16 22:24:11

标签: jquery

   <script language="javascript" type="text/javascript" >
   $(
   function () {
   $('li').mouseover(function () {
   var $this = $(this);
  $('#previewImage').animate({ opacity: 0.1 }, 0, function () {
  $(this).attr("src", 'img/' + $this.attr('id') + '.jpg').animate({ opacity: 1 }, 1000);
  });
  // mouseout should come here and hover image should come back to normal while mouseout

  });
  });
  </script>

Kinly帮助我,它应该来到这里,悬停图像应该在mouseout事件发生时恢复正常!!

2 个答案:

答案 0 :(得分:1)

如果您在此处也有HTML代码,那将是最好的。以下是一些需要考虑的事项:

       
  1. 使用文档就绪功能
  2. 整理您的代码    
  3. 选择您希望在鼠标悬停时设置动画的html属性,以及mouseout
  4.    
  5. 由于可以将函数传递给事件处理程序,而mouseover和mouseout是事件处理程序,我认为最好将函数传递给它们。
  6. 看一下我在下面的代码片段:

    <script type="text/javascript">
    
        $(function() {
    
            $('previewImage').mouseover(function() {
                // pass the function here
            }).stop(true, true).mouseout(function() {
                // pass the function here
            });
        });
    </script>
    

答案 1 :(得分:0)

如果我没弄错的话,你的问题可能与这个问题有关,而你正在使用这个问题。 第二个函数,其中有一个完全不同的指针..

我建议您将其作为参数传递

function (passThisPtr) {
$(this).attr("src", 'img/' + $this.attr('id') + '.jpg').animate({ opacity: 1 }, 1000);
});

或将其绑定到参数...

function () {
$(this).attr("src", 'img/' + $this.attr('id') + '.jpg').animate({ opacity: 1 }, 1000);
}.bind(passThisPtr));

同样,不知道发生了什么事情很难确切知道,但我认为这是问题所在。