我无法弄清楚为什么这个脚本在Firefox中不起作用。而且,即使我的ajax_loadmore.php
输出为FALSE,它仍会进行AJAX调用(在Chrome中)。
var request;
$(window).scroll(function () {
if ($(window).scrollTop() == $(document).height() - $(window).height() ) {
var ID = $('.stbody:last').attr('id').match(/stbody(\d+)/)[1];
$('#loader').show();
if(request) {
return
}
request = $.ajax({
type: 'GET',
url: "ajax_loadmore.php?lCom="+ID,
success: function(result) {
if(result!='FALSE') {
$('#loader').hide();
$('#moreComments').append(result);
$(".oembed").oembed(null, {
embedMethod: "fill",
maxWidth: 700,
maxHeight: 600
});
request = null;
} else {
$('#loader').hide();
$('#moreComments').html('<center><p>Slut på inlägg</p></center>');
request = null;
}
}
});
}
});
ajax_loadmore.php
代码:
<?php
if($_GET['lCom']) {
include_once 'core/init.php';
protect_page();
include_once 'includes/db.php';
include_once 'includes/functions.php';
include_once 'includes/tolink.php';
include_once 'includes/time_stamp.php';
include_once 'session.php';
$lCom = $_GET['lCom'];
$Wall = new Wall_Updates();
$updatesarray=$Wall->Updates_more($uid,$lCom);
if(!empty($updatesarray)) {
foreach($updatesarray as $data) {
$msg_id=$data['msg_id'];
$orimessage=$data['message'];
$message=tolink(htmlspecialchars(nl2br($data['message'])));
$time=$data['created'];
$username=$data['username'];
$uid=$data['uid_fk'];
$face=get_profile_pic($uid,'small');
$face2=get_profile_pic($session_user_id,'mini');
$commentsarray=$Wall->Comments($msg_id);
?>
//HTMLSTUFF HERE..
<?php
}
} else { echo 'FALSE'; }
} else { die('du ska inte vara här..'); }
?>
答案 0 :(得分:0)
我也遇到了同样的问题,我使用了以下链接中的脚本:
http://www.9lessons.info/2009/07/load-data-while-scroll-with-jquery-php.html
答案 1 :(得分:0)
现在似乎有用了。我使用jQuery在我的菜单到达顶部时添加一个粘性类。并且该菜单有位置:相对于它可能与窗口的高度混淆或者某些东西使得Firefox没有执行脚本,因为它没有到达底部。
当我改变位置时:在菜单容器上的相对位置:绝对它只是工作。
如果有人能够解释为何更详细,我会很高兴! (因为它在Chrome和IE中工作,我猜它在Firefox中是一个渲染问题)
感谢您的回复!