我使用scrollExtend插件来调用Json脚本,该脚本将吐出我的内容。 这在桌面上运行良好,但运行良好,但我的网站响应迅速,我将需要此功能,以便在平板电脑和移动设备上工作。
我进行了很多测试,并将其缩小到我的Json脚本:
<?php
$parent_query = bb_query("SELECT f_children
FROM t_articles
WHERE f_id= '85' and (f_removed IS NULL or f_removed ='0')
");
$parent_row = bb_fetch_assoc($parent_query);
$children = explode(':',$parent_row['f_children']);
$i= 1;
$rowsperpage = 6;
$totalpages = count($children);
$_SESSION['highlights_current_page']++;
if (isset($_SESSION['highlights_current_page']) && is_numeric($_SESSION['highlights_current_page'])) {
$currentpage = (int) $_SESSION['highlights_current_page'];
}
if ($currentpage > $totalpages) {$currentpage = $totalpages;}
if ($currentpage < 1) {$currentpage = 1;}
$offset = ($currentpage-1) * $rowsperpage;
$x=0;
##take off earlier articles
while($x < $offset){
array_shift($children);
$x++;
}
##take off later articles
$children = array_slice($children, 0, $rowsperpage);
echo $_SESSION['highlights_current_page'];
echo "current:".$currentpage;
echo "total:".$totalpages;
echo "offset:".$offset;
foreach($children as $child)
{
$child_query = bb_query("
SELECT *
FROM t_articles
WHERE f_id = {$child}
and (f_removed IS NULL or f_removed ='0')
AND f_live ='1'
");
while ($row = bb_fetch_assoc($child_query)){
//data for echoing the articles
}
}
?>
当它显示在桌面上并向下滚动时,它将回显接下来的6篇文章,然后如果继续下一个6,依此类推。但是对于平板电脑,它会回显接下来的6篇文章然后当你向下滚动它时会反复回应相同的6篇文章。
以下是桌面上块的数学计算:
第一个回应的文章:$_SESSION['highlights_current_page']:2 current:2 total:20 offset:6
第二个回应的文章块:$_SESSION['highlights_current_page']:3 current:3 total:20 offset:12
第三篇文章:$_SESSION['highlights_current_page']:4 current:4 total:20 offset:18
$ _ SESSION ['highlight_current_page']是它回显的块数。例如:前六个回合将是2,因为六个文章开始显示被归类为1。
在平板电脑上会重复:
第一:$_SESSION['highlights_current_page']:2 current:2 total:20 offset:6
第二:$_SESSION['highlights_current_page']:2 current:2 total:20 offset:6
第三:$_SESSION['highlights_current_page']:2 current:2 total:20 offset:6
我对平板电脑编程比较陌生,有些东西我已经添加了不能正常工作,或者有人能看到我的数学问题吗?
提前谢谢