0

这段 jquery 导致页面上的所有其他链接发生了一些有趣的事情,也就是说,它们只在大约 1 秒的奇怪时间延迟之后才做他们应该做的任何事情。

单击运行以下代码的链接后会发生这种情况:

$('#content').on("click", "a#goto_faq", function() {

    $("html, body").animate({ scrollTop: 0 }, 1234, 'easeInExpo');

    var toLoad = $(this).attr('href')+' #content';  

    $('#content').delay(888).slideUp(888,'easeOutExpo',loadContent);        
    function loadContent() {
        $('#content').load(toLoad,'',showNewContent);  
    }
    function showNewContent() {
        $('#content').slideDown(777,'easeInExpo');
    }
    $("html, body").delay(777).animate({ scrollTop: 405 }, 777, 'easeInExpo',goToFAQ);
    function goToFAQ() {
    $("html, body").delay(2700).animate({ scrollTop: 1415 }, 2222, 'easeInOutExpo');
    }
    return false;

});

所以你点击一个 id="goto_faq",一切都加载和滚动窗口就好了。一旦所有功能/动画完成后,无论您决定下一步单击哪个链接,都将需要大约一秒钟才能触发。(从那时起所有链接都很好 - 它只是上述脚本之后的第一个链接。[这让人认为脚本必须仍在后台运行。])

我一直在玩 jquery.stop 一段时间了,但到目前为止还没有运气。我似乎无法通过阅读 API Docs 来理解 jquery。.stop 的任何帮助将不胜感激;谢谢。

4

1 回答 1

0

您正在使用委托。看看这个。查找有关委派的示例。这可能会帮助你。

于 2013-01-16T07:06:03.653 回答