Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 无限滚动:Chrome和x2B中的双内容;不在IE工作_Jquery_Ajax_Infinite Scroll - Fatal编程技术网

Jquery 无限滚动:Chrome和x2B中的双内容;不在IE工作

Jquery 无限滚动:Chrome和x2B中的双内容;不在IE工作,jquery,ajax,infinite-scroll,Jquery,Ajax,Infinite Scroll,下面的代码按照Firefox19.0的预期工作。该脚本从数据库加载随机文章 它在Internet Explorer中重复加载相同的内容,在Chrome中加载双重+不同的内容 <script type="text/javascript"> $(window).scroll(function() { if($(window).scrollTop() == $(document).height() - $(window).height()) { $('div#loadmoreajaxlo

下面的代码按照Firefox19.0的预期工作。该脚本从数据库加载随机文章

它在Internet Explorer中重复加载相同的内容,在Chrome中加载双重+不同的内容

<script type="text/javascript">
$(window).scroll(function()
{
if($(window).scrollTop() == $(document).height() - $(window).height())
{

$('div#loadmoreajaxloader').show();
$.ajax({
url: "loadmore.php",
success: function(html)
{
if(html)
{
$("#wrapper").append(html);
$('div#loadmoreajaxloader').hide();
}else
{
$('div#loadmoreajaxloader').html('<center>No more posts to show.</center>');
}
}
});
}
});
</script>

$(窗口)。滚动(函数()
{
if($(窗口).scrollTop()==$(文档).height()-$(窗口).height())
{
$('div#loadmoreajaxloader').show();
$.ajax({
url:“loadmore.php”,
成功:函数(html)
{
如果(html)
{
$(“#包装器”).append(html);
$('div#loadmoreajaxloader').hide();
}否则
{
$('div#loadmoreajaxloader').html('不再显示帖子');
}
}
});
}
});
这里是loadmore.php

<?php
include('db.php');
$stmt = $db->prepare("SELECT * FROM db ORDER BY RAND() DESC LIMIT 9");
if($stmt->execute()){
while ($row = $stmt->fetch()) {
echo'
content here
';}}
?>
$limit=9;
$limit_offset = $limit*$_GET['offset'];
$stmt = $db->prepare("SELECT * FROM db ORDER BY RAND() DESC LIMIT :limit OFFSET :offset");
$stmt->bindValue(':limit', $limit, PDO::PARAM_INT);
$stmt->bindValue(':offset', $limit_offset, PDO::PARAM_INT);

我猜您总是得到相同的9个元素,因为您的MySQL查询没有偏移量

尝试添加偏移,如下所示:

在loadmore.php上

<?php
include('db.php');
$stmt = $db->prepare("SELECT * FROM db ORDER BY RAND() DESC LIMIT 9");
if($stmt->execute()){
while ($row = $stmt->fetch()) {
echo'
content here
';}}
?>
$limit=9;
$limit_offset = $limit*$_GET['offset'];
$stmt = $db->prepare("SELECT * FROM db ORDER BY RAND() DESC LIMIT :limit OFFSET :offset");
$stmt->bindValue(':limit', $limit, PDO::PARAM_INT);
$stmt->bindValue(':offset', $limit_offset, PDO::PARAM_INT);
在JavaScript代码上:

<script type="text/javascript">
var offset = 0;

var偏移=0;

$.ajax({
url:“loadmore.php”,
数据:{offset:offset}
成功:函数(html){
如果(html){
offset++;
$(“#包装器”).append(html);
$('div#loadmoreajaxloader').hide();
}否则{
$('div#loadmoreajaxloader').html('不再显示帖子');
}
}
});

我刚刚注意到它在Firefox和Chrome中都能完美运行。这是一个IE问题。我尝试了你的修复,但IE仍显示相同的内容。事实上,当我在IE中重新加载页面时,我应该看到不同的内容,但我看到的是相同的。奇怪的我想是缓存问题,我不知道。也许如果你在jsfiddle.net中发布一个代码示例,我可以帮你更多。。。