提问者:小点点

页面加载时的Ajax分页?


好的,首先,我将告诉这应该如何工作:我有一个页面的图片链接下侧,点击一个图片,该链接的信息出现在另一个div。我使用jQuery/Ajax将链接id发布到一个php文件中,并将该数据返回到所选的div。链接应该分页,以便一次显示4个。

这是正在发生的事情:post部分是ok的,当我单击一个链接时,正确的数据将显示在所选的div中。我不知道如何使链接div分页虽然。我需要他们分页时,页面加载,现在当页面加载所有链接显示,然后当我点击一个链接正确的数量(4)显示!

这是我的html,包含2个div:

<div class="dogsrehomeandrehomed">
<?php
include 'inc/connect.php';
$q = mysqli_query($link, "SELECT filename, id, name, age, sex  FROM gallery WHERE 
gallery = 1 ORDER BY id DESC") or die (mysql_error());
while($row = mysqli_fetch_array($q)){
$data = $row['filename'];
$file = substr($data, strpos($data, "/") + 1);
echo"<div class='homedogs'>",
"<a href={$row['id']} class='dogchoice'>",
"<img class='nailthumb-container3' src='$file' alt='{$row['name']}. Image' />",
"</a>",
"<br />",
'NAME: ',$row['name'],"<br />",'AGE: ',$row['age'],"<br />",'SEX: ',$row['sex'],
"</div>";
}
?>
</div>

<div class="dog">
<?php
include 'inc/connect.php';
$q = mysqli_query($link, "SELECT *  FROM gallery WHERE gallery = 1 ORDER BY id DESC 
LIMIT 1") or die (mysql_error());
while($row = mysqli_fetch_array($q)){
$data = $row['filename'];
$file = substr($data, strpos($data, "/") + 1);
echo"<div class='rehomediv'>",
"<img class='nailthumb-container2' src='$file' alt='{$row['name']}. Image' />","<br   
/>",
"<div class='nameagesex'>",
'NAME: ',$row['name'],"<br />",'AGE: ',$row['age'],"<br />",'SEX: ',$row['sex'],
"</div>",
"<div class='description'>",
nl2br($row['description']),
"</div>",
"</div>";
}
?>          
</div>
<script src="js/dog.js"></script>

这是我的dog.js文件:

$('a.dogchoice').click(function(e) {
e.preventDefault();
var linkClass = $(this).attr("class");
var linkText = new String(this);
var categoryValue = linkText.substring(linkText.lastIndexOf('/') + 1);
var params = {};
params[linkClass] = categoryValue;  
$.post('inc/dogchoice.php', params, function(data) {
    var totalRecords = $(data).length;
    var pageSize = 4;
    var numOfPages = Math.ceil(totalRecords / pageSize);
    var i,
      pageLinks = '<div class="pageLinks">';
    for (i = 0; i < numOfPages; i++) {
      pageLinks += '<a href="#" onclick="showDogLinks(' + i + ');return false;">' + (i 
      + 1) + '<\/a> ';
    }
    pageLinks += '<\/div>';
    $('.dog').html(pageLinks + data);
    showDogLinks(0);
});

});

//function to slice up records into pages
function showDogLinks( pageNo ) { 
var perPage = 4; 
var start = pageNo * perPage; 
var end = start + perPage; 
$('.homedogs').hide().filter(function(index) { 
    return ( (index > (start-1)) && ( index < end ) ); 
} ).show(); 
}

有人能帮忙吗?谢谢你来找我


共1个答案

匿名用户

我整理好了。我刚刚用PHP对链接容器进行了分页。

谢谢你看..