【发布时间】:2012-12-04 09:35:16
【问题描述】:
$(element).scroll(function(){});当我将其放入 js 文件时,该功能对我不起作用,但是当我将其输入控制台(只是滚动功能)时,它就可以正常工作。
我正在尝试进行滚动分页。
我查看了我的其他 js 文件,我认为唯一可能有冲突的是另一个文件有 $(document).ready(function(){}) 但我很确定那是不是问题。我也在使用 Dropkick 来制作漂亮的下拉菜单,但我也怀疑是不是这样。
这是代码,几乎是逐字记录。在我弄清楚如何加载它之前,它是基本的。
$('#main').scroll(function(){
if(($('#main').prop('scrollHeight'))==
($('#main').scrollTop()+$(document).height()-10)){
//^there's a strange 10px empty space that needs to be accounted for
$('#loading').show();
$('#main').css('overflow','hidden');
addMore();
}
});
$(document).ready(function(){
addMore();
});
addmore.counter=0;
function addMore(){
$.ajax({
async: 'true',
url: 'http://mywebsite.com/bc/get',
type: 'post',
data: ({'offset':(addmore.counter)}),
success: function(data) {
$('#scrollingpagination').append(data);
$('#loading').hide();
$('#main').css('overflow','scroll');
addmore.counter++;
}
});
}
这是 HTML(不是逐字逐句,而是相同的想法)
<!--I'm only including the "main" div that shows the content.-->
<div id='main'>
<div id='scrollingpagination'></div>
<div id='loading'></div>
</div>
谢谢大家,我真的很感激!
【问题讨论】:
-
它只发生在 IE 中吗?
-
尝试将
$('#main').scroll(function(){保留在document.ready中。它认为它是在 dom 准备好之前调用的 -
^是的,成功了!我记得以前做过,但我一定忘记了支架什么的!谢谢!
标签: javascript jquery html pagination scroll