我对此感到厌倦,直到现在我才找到解决方案。我的代码还有。
$("#submit").click(function(e){
e.preventDefault()
var loading = "<img src='/zojfa/images/loading.gif' alt='Loading...' />";
var scrolltop=$('#scrollbox').attr('scrollTop');
var scrollheight=$('#scrollbox').attr('scrollHeight');
var windowheight=$('#scrollbox').attr('clientHeight');
var post = $(this).attr("name") + "=" + $(this).val();
var form_data = $('#search_form').serialize() + "&" + post;
var scrolloffset=20;
$('#search').html(loading);
$.post("dosearch.php",form_data,function(newitems) {
$('#content').append(newitems);
});
$('#scrollbox').scroll(function(){
if(scrolltop>=(scrollheight-(windowheight+scrolloffset))){
form_data = form_data + "&size=" + $("#content > div").size();
setTimeout($.post("dosearch.php",form_data,function(newitems) {
$('#content').append(newitems);
}),5000);
}
});
});
});
当我发布表单数据时,此表单数据将序列化()并发送到dosearch.php。
当我点击提交按钮功能时,该功能运行良好,并给出结果集,该结果集是该脚本的第11行。
然后我会听滚动事件,当滚动事件发生时我会计算我的内容div中的div,知道到目前为止我已加载了多少div并将此数字发送到dosearch以获得更多结果
从表中选择一些内容WHERE someid =另一个id LIMIT $ number(我从计算div中获得..是否有另一种解决方案?可能为div设置id?这个解决方案我使用得足够好吗?),6
现在我的问题在哪里。我查看firebug发布的数据
当我到达这个div的底部时,许多ajax请求启动。并在firebug控制台中显示许多发布的大小与这样的不同值
size=6
size=12
size=12
我认为settimeout可能会修复我的脚本但是没有成功。
感谢您的帮助。