首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery动画div中的文本消失

jQuery动画div中的文本消失
EN

Stack Overflow用户
提问于 2014-04-20 02:24:04
回答 1查看 875关注 0票数 1

我创建了一个侧边栏菜单,当鼠标悬停时,它会向外扩展。当菜单展开时,它里面的文本会同时消失。同样,当鼠标离开菜单时,它会收缩,里面的文本也会消失。我这里有一个JS小提琴:http://jsfiddle.net/6LdcC/4/

问题是,当你“很好地”对待它的时候,这是有效的。如果您顺利地将鼠标移动到侧边栏,它将正确打开,如果您随后将鼠标移到外部,它将正确关闭。然而,如果你迅速移动鼠标进入,离开,并回到边栏之前,它已经完成动画,里面的文字消失。除非刷新页面,否则它不会重新出现。

我怀疑这是底层jQuery中的一个错误,但我希望错误,这样我就可以修复它。有人知道是什么导致了这种行为吗?

为了方便起见,相关代码也在这里:

代码语言:javascript
复制
$('#sidebar').mouseenter(function () {
    var $this = $(this);

    $('#sidebar_content').show({
        'effect': 'fade',
        'duration': 300,
        'queue': false
    });
    $this.animate({ // properties
        'width': '200px'
    }, { // options
        'duration': 400,
        'queue': false
    });
});

$('#sidebar').mouseleave(function () {
    var $this = $(this);

    $('#sidebar_content').hide({
        'effect': 'fade',
        'duration': 300,
        'queue': false
    });
    $this.animate({ // properties
        'width': '25px'
    }, { // options
        'duration': 400
    });
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-20 02:59:23

在每个动画放置之前,都要使用stop()函数。

就像这样:

代码语言:javascript
复制
$this.stop().animate({'width': '200px'}, {options 'duration': 400, 'queue': false});

函数将停止所有排队的动画。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23177762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档