几周前,我用jquery实现了一个无限滚动页面。滚动本身效果很好,但我的副作用非常奇怪。
当我滚动并加载新内容时,前几秒没有任何链接起作用。事实上,页面上任何地方的链接都没有工作几秒钟。如果我滚动真的很远,似乎会变得更糟,例如快速连续加载5页 - 然后我必须等待20秒才能点击页面上的任何链接。
我使用Firefox或IE8有相同的经验,所以我猜它不是浏览器。
任何想法是什么原因或解决方法?
答案 0 :(得分:0)
还有这个问题吗?
<强>问题:强>
初步想法:
尝试使用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>