我有一些看起来像这样的
HTML:
<a href="#" class="move"><span class="text">add</span><span class="icon-arrow"></span></a>
$('a.move').hover( function (event) { $(this).children('span.text').toggle(); $(this).animate({right: '5px'},'fast'); },function (event) { $(this).children('span.text').toggle(); $(this).animate({right: '0px'},'fast'); } );
当我将鼠标悬停在锚标记上时,它会显示span.text并将锚点5px移动到右侧.
现在,由于我不想进入的并发症,我必须设定位置:相对;在容器上,绝对定位图标和文本,使图标显示在左侧,文本显示在右侧.
问题:
当我将鼠标悬停在锚标记上时,图标会向右移动,鼠标会在文本顶部(显示)上方结束.不幸的是,如果我将鼠标从图标移动到文本并且动画开始像疯了一样循环,则会调用’out’函数.我不明白导致“out”事件发生的原因,因为鼠标永远不会离开锚标记.
谢谢!
解决方法
您可以使用“mouseenter”和“mouseleave”事件代替悬停,这些事件在子元素阻碍时不会触发:
$('a.move').bind('mouseenter',function (e) { $(this).children('span.text').toggle(); $(this).animate({right: '5px'},'fast'); }) .bind('mouseleave',function (e) { $(this).children('span.text').toggle(); $(this).animate({right: '0px'},'fast'); });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。