在实时事件处理程序上构建Jquery动画

时间:2011-01-25 18:24:38

标签: jquery event-handling

我正在jquery中使用“实时”技术,使用下面的代码并在此网站上添加悬停图标:http://vitaminjdesign.com/adrian/

$('a').live('mouseover mouseout', function(event) {
      if (event.type == 'mouseover') {
            $('<a href="#"><img src="images/facebook.gif" class="facebook" alt="facebook"></a>').appendTo(this).fadeIn(500);
            $('<a href="#"><img src="images/twitter.gif" class="twitter" alt="twitter"></a>').appendTo(this).fadeIn(500);
      } else {
            $('a').find('.facebook,.twitter').fadeOut(500);
      }
});

这非常有效,但是有一些图标加载。通常我使用.stop()命令,但这不起作用,也许是因为我正在使用实时事件处理程序?有什么建议?此外,图标似乎没有消失,只是淡出。

2 个答案:

答案 0 :(得分:0)

尝试clearQueue()

这应该清除事件队列。

答案 1 :(得分:0)

尝试 .stop(true,true),如下所示:

$('a').live('mouseover mouseout', function(event) {
      if (event.type == 'mouseover') {
            $('<a href="#"><img src="images/facebook.gif" class="facebook" alt="facebook">    </a>').appendTo(this).fadeIn(500);
            $('<a href="#"><img src="images/twitter.gif" class="twitter" alt="twitter">    </a>').appendTo(this).fadeIn(500);
      } else {
            $('a').find('.facebook,.twitter').stop(true, true).fadeOut(500);
      }
});

jQuery API - stop