Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery中停止循环幻灯片_Javascript_Jquery - Fatal编程技术网

Javascript 如何在jQuery中停止循环幻灯片

Javascript 如何在jQuery中停止循环幻灯片,javascript,jquery,Javascript,Jquery,我制作了一个函数,将鼠标悬停在一个内容框上,一个类名为bottomdata的div从顶部向下滑动。此功能非常有效,除非在长方体上滚动多次,否则动画将以循环方式运行。我希望动画运行一次,然后停止,直到第一个动画循环完成后再次悬停 $(".databox").on('mouseenter', '.box', function() { $(this).find('.topdata').slideUp(400); $(this).find('.bottomdata

我制作了一个函数,将鼠标悬停在一个内容框上,一个类名为bottomdata的div从顶部向下滑动。此功能非常有效,除非在长方体上滚动多次,否则动画将以循环方式运行。我希望动画运行一次,然后停止,直到第一个动画循环完成后再次悬停

    $(".databox").on('mouseenter', '.box', function() {
        $(this).find('.topdata').slideUp(400);
        $(this).find('.bottomdata').slideDown(350);
    }).on('mouseleave', '.box', function() {
        $(this).find('.bottomdata').slideUp();
        $(this).find('.topdata').slideDown();           
    });
所以我试着用stop();我还尝试使用finish()。我甚至尝试使用clearQueue()。我只是想不通。非常感谢您的帮助

我在JSFIDLE上提供了一个示例:


它没有在Chrome 39.0.2171.71 m上循环。你在测试什么浏览器?将鼠标悬停在上面多次,我的浏览器就是Windows上的Chrome/Firefox。我不认为这是一个浏览器问题。每次我悬停时,“底部数据”都会向上滑动以覆盖“顶部数据”。当我退出该框时,“bottomdata”返回到下方,“topdata”保留在顶部。每次悬停都会发生这种情况。你想发生什么?@JonathanM,如果你弹进弹出9次,动画就会发生9次。我知道可能是重复的,我没有试着在每个动画上设置停止功能。我主要是在鼠标移动后,或者只是在进入时,试图阻止它。非常感谢。@TrueBlueAussie区别在于此解决方案是的,使用了
stop()
,但使用了两个参数,第一个参数用于清除队列,第二个参数用于强制当前动画突然结束到终点。@TrueBlueAussie我读了您的评论,并假设您的意思是仅在第一个元素上,不是所有的。虽然我非常感谢你帮我解决困难,但你的态度是有害的,没有什么建设性的@真的,澳大利亚人有很多人同时说话,我不是超人。我一次只能回答这么多问题,我认为你的观点是我已经尝试过的。我不是在抨击你,只是在陈述我阅读和尝试示例时发生的事情。我真的很感谢你的意见。@silentw,我想我可能遗漏了什么。这种行为是如何改变的?
$('.databox').on('mouseenter', '.box', function() {
    var that = $(this);

    that.find('.topdata').stop(true, true).slideUp(400);
    that.find('.bottomdata').stop(true, true).slideDown(350);
}).on('mouseleave', '.box', function() {
    var that = $(this);

    that.find('.topdata').stop(true, true).slideDown();
    that.find('.bottomdata').stop(true, true).slideUp();
});