我想在一个页面上显示大约 20 li,底部有一个链接,上面写着“显示更多”。然后,此链接将清除前 20 个并显示接下来的 20 个。我应该如何执行此操作。(我正在创建一个画廊)
我正在考虑使用 PHP 和 MySQL。但是,对于我正在做的事情,我并不真的需要将它存储在数据库中,所以有没有更简单的方法可以只使用 html、php 或 javascript 来完成它?
谢谢
正如一些人在他们的评论中所说,这个主题太笼统了。但这是一般的答案。
你可以用javascript来做到这一点。您可以创建一个 javascript 数组,其中包含您需要在列表中显示的所有记录。如果单击“显示更多”按钮,您可以触发一个 javascript 函数来清除页面并从列表中写入另一组项目。您只需要维护指向当前列表开头和结尾的指针。
这是您可以使用的插件。
http://www.geckonewmedia.com/blog/2009/8/20/simplepager---jquery-paging-plugin--updated
但如果您需要任何自定义代码,请告诉我
这是一个简单的解决方案,按照您的描述进行操作,无需任何 javascript 和 DB,只需将文件存储到磁盘:
<?php
$array = file('file.txt');
$from = isset($_GET['from'])?$_GET['from']:0;
echo '<pre>';
for($i=($from+0);$i<($from+20) && $i<count($array);$i++) {
echo '#'.$i.' '.$array[$i];
}
echo '</pre><a href="?from='.($from+20).'">MORE</a><br />';
试试这个
$list_images=glob('imagesPath'.'*.{jpg|jpeg|png|gif}', GLOB_BRACE);
if(isset($_REQUEST['page_id']))
{
$pageNo=$_REQUEST['page_id'];
}
if($pageNo =='')
$offset=0;
else
$offset=$pageNo;
for($i=$offset; $i<($offset+20); $i++)
{
echo"<a href=''><img src='$list_images[$i]' /> </a>";
}
// 将页码存储在隐藏变量中
<input type='submit' value='More' onclick ='pageSet()' />
//Javascript
function pageSet()
{
var id=document.getElementById('page_id').value;
if(id =='')
{
document.getElementById('page_id').value =1;
}
else
{
document.getElementById('page_id').value =parseInt(id)+1;
}
}