function createXMLHttp(){
if(window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHttp");
}
else if(window.XMLHttpRequest){
return new XMLHttpRequest();
}
}
function Pager(){
var that=this;
this.link=function(url){
that.xmlHttp = createXMLHttp();
that.xmlHttp.onreadystatechange = that.receive;
that.xmlHttp.open("GET", url, true);
that.xmlHttp.send(null);
}
this.receive=function(){
if((that.xmlHttp.readyState == 4)){
if(that.xmlHttp.status == 200){
that.reaction(that.xmlHttp.responseXML);
}else{
that.recover();
}
}
}
}
var a = new Pager();
var pages = 0;
a.recover = function (){
go = function (u){
go = function (){
};
a.link(u);
};
};
a.reaction = function (xml){
document.getElementById('page_content').innerHTML = xml.getElementsByTagName('content')[0].childNodes[0].nodeValue;
if(xml.getElementsByTagName('count')[0].childNodes[0].nodeValue != pages){
s = '
for(i = 1; i <= xml.getElementsByTagName('count')[0].childNodes[0].nodeValue; i )
{
if(i == xml.getElementsByTagName('current')[0].childNodes[0].nodeValue)
s = '
' i '';else
s = '
' i '';}
s = '
';document.getElementById('page_bar').innerHTML = s;
}
a.recover();
}
a.link('page.php');
page.php代码.
class class_page
{
private $record_count, $perpage;
private $page_count, $page_current;
function __construct($perpage, $record_count, $page_current)
{
$this->perpage = $perpage;
$this->record_count = $record_count;
$this->page_count = ($record_count == 0) ? 1 : ceil($record_count / $perpage);
$this->page_current = ($page_current > $this->page_count) ? 1 : $page_current;
}
function __get($name)
{
switch($name)
{
case 'page_count':
return $this->page_count;
case 'page_current':
return $this->page_current;
case 'record_start':
return ($this->page_current - 1) * $this->perpage;
}
}
}
header('Content-Type: text/xml; charset=gbk');
$page = new class_page(20, 150, is_numeric($_GET['page']) ? $_GET['page'] : 1);
echo '<?xml version="1.0"?>';
echo '';
echo '' . $page->page_count . '';
echo '' . $page->page_current . '';
echo '' . pow($page->page_current, 2) . '';
echo '';
?>