jQuery无限滚动导致链接暂时不起作用?

时间:2011-11-26 06:00:00

标签: jquery hyperlink infinite-scroll

几周前,我用jquery实现了一个无限滚动页面。滚动本身效果很好,但我的副作用非常奇怪。

当我滚动并加载新内容时,前几秒没有任何链接起作用。事实上,页面上任何地方的链接都没有工作几秒钟。如果我滚动真的很远,似乎会变得更糟,例如快速连续加载5页 - 然后我必须等待20秒才能点击页面上的任何链接。

我使用Firefox或IE8有相同的经验,所以我猜它不是浏览器。

任何想法是什么原因或解决方法?

1 个答案:

答案 0 :(得分:0)

还有这个问题吗?

<强>问题:

  • 页面加载后20秒后链接是否可点击?浏览器“冻结”了20秒,还是仅仅是无法点击的链接?
  • 要加载更多内容,是否会显示“显示更多”的链接,或者当用户点击页面底部时内容会自动加载?
  • 您使用jQuery的.scroll()来更新内容吗?

初步想法:

  • 您是否正在使用.click()或.bind('click', function )来查找无法点击的链接?请尝试.live('click', function )。
  • 尝试使用setTimeout。对于某些浏览器,jQuery的.scroll调用处理程序函数,每个像素都会更改滚动条...一旦完成所有滚动操作,就会导致函数调用过载。尝试这样的事情,滚动时它不会执行1000个函数调用(这只是一个简单的例子......代码可能更好):

    <script type="text/javascript">
        var scrolling = false;
        $(document).scroll('setScroll');
    
        function setScroll() {
            scrolling = setTimeout(doScrollUpdate, 300);
        }
    
        function doScrollUpdate() {
            clearTimeout(scrolling);
            // Do your ajax stuff here
        }
    </script>