我使用此函数根据需要"加载更多"列表项。
我正在使用的加载更多功能:http://jsfiddle.net/cse_tushar/6FzSb/2/
我正在用PHP填充我的列表。我的问题是加载页面时会显示所有列表项。当我点击加载更多时,功能开始工作,我可以加载更多或加载更少。页面加载时只能显示3个列表项(x=3(。
有什么想法可以解决吗?
提前感谢!
列表代码:
<?php include('comments.php');
/*
/ Output the comments one by one:
*/
foreach($comments as $c){
echo $c->markup();
}
?>
comments.php(简化(:
class Comment
{
public function markup()
{
return '<li>$text</li>' };
};
负载更多的JS:
$(document).ready(function () {
size_li = $("#myList li").size();
x=3;
$('#myList li:lt('+x+')').show();
$('#loadMore').click(function () {
x= (x+5 <= size_li) ? x+5 : size_li;
$('#myList li:lt('+x+')').show();
$('#showLess').show();
if(x == size_li){
$('#loadMore').hide();
}
});
$('#showLess').click(function () {
x=(x-5<0) ? 3 : x-5;
$('#myList li').not(':lt('+x+')').hide();
$('#loadMore').show();
$('#showLess').show();
if(x == 3){
$('#showLess').hide();
}
});
});
要只输出3次,则需要安装一个计数器(一个简单变量(来计算打印标记的次数。你可以做这样的事情来实现这个目标:
$i = 0;
foreach($comments as $c){
$i++;
if($i < 4) {
echo $c->markup();
}
}