我发现了一个不错的 ajax/jquery 无限滚动插件(http://hycus.com/2011/03/15/infinite-scrolling-like-new-twitter-with-php-mysql-jquery/ http://hycus.com/2011/03/15/infinite-scrolling-like-new-twitter-with-php-mysql-jquery/)我能够很好地适应我的内容,但我遇到一个问题 - 它只调用 loadmore.php 脚本一次。让我展示一下代码:
在我的index.php 文件中:
<script type="text/javascript">
$(window).scroll(function(){
if($(window).scrollTop() == $(document).height() - $(window).height()){
$('div#loadmoreajaxloader').show();
$.ajax({
url: "loadmore.php?lastid=" + $(".postitem:last").attr("id"),
success: function(html){
if(html){
$("#postswrapper").append(html);
$('div#loadmoreajaxloader').hide();
}else{
$('div#loadmoreajaxloader').html('<center>No more posts to show.</center>');
}
}
});
}
});
</script>
此部分调用我的 loadmore.php 文件并向其发送上一篇文章的 id。这仅在我第一次滚动到页面底部时有效,它从 loadmore.php 加载条目,但不会再次调用 loadmore.php。我的 loadmore.php 文件有以下代码:
<?php
include('./includes/config.php');
if($_GET['lastid']){
$query = 'SELECT * FROM db WHERE id < "'.$_GET['lastid'].'" ORDER BY id DESC LIMIT 0,3';
$result = mysql_query($query);
while ($rec = mysql_fetch_object($result)) {
[SET MY VARS]
?>
[HTML & PHP DISPLAYING MY POST]
<?php
}
}
?>
第一个 ajax 调用后显示的 3 个帖子完美地显示出来,正是我希望它们显示正确数据的方式。但在前 3 个帖子出现后,我无法再显示接下来的 3 个帖子。
因此,如果我的 index.php 默认有 5 个帖子,我滚动到底部,ajax 又调用 3 个帖子,它们显示得很好,但之后没有任何显示,即使还有很多帖子要显示。我的问题在哪里,ajax/jquery 向导?
上面的代码示例与以下模块是否可以在距底部固定高度处触发该功能?
Add:
var trigger = $('#postswrapper').height() - 250;
并改变:
if (st >= 0.7*h && !loading && h > 500) {
to:
if ((st == trigger) && (!loading) && (h > 500)) {
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)