`

发布一个 分页条js实现... 很好用啊

PHP 
阅读更多
function renderPaging(url,curPage,totalPage)


{


	var pageBarNum = 5;


	var pageStr = '';


	


	var gurl = function(num){


		return url.replace('-page-',num);


	};





	curPage = parseInt(curPage);


	totalPage = parseInt(totalPage);


	


	if(curPage > 1){


		pageStr += '<span class="grey-12">&lt;&lt;&nbsp;<a class="paging-per" href="' + gurl(curPage-1) + '">上一页</a>&nbsp;</span>';


	}	


	


	var index = Math.floor(pageBarNum/2);


	var start = (curPage-index)>0 ? (curPage-index) : 1;


	var end = curPage + (pageBarNum-index);


	end = end<pageBarNum ? pageBarNum : end;


	


	if(start > 1){


		pageStr += '<span class="grey-12">&nbsp;<a class="paging-per" href="' + gurl(1) + '">1</a>&nbsp;</span>';


	}


	


	if(start > 2){pageStr += '<span class="grey-12">&nbsp;...&nbsp;</span>';}


	


	for(var i=start; i<end; i++){


		if(i>totalPage) break;


		if(i == curPage){


			pageStr += '<span class="blue-12-bold">&nbsp;<a class="paging-per paging-current" href="' + gurl(i) + '">' + i + '</a>&nbsp;</span>';


		}else{


			pageStr += '<span class="grey-12">&nbsp;<a class="paging-per" href="' + gurl(i) + '">' + i + '</a>&nbsp;</span>';	


		}


	}


	


	if(end < totalPage){


		pageStr += '<span class="grey-12">&nbsp;...&nbsp;</span>';


		pageStr += '<span class="grey-12">&nbsp;<a class="paging-per" href="' + gurl(totalPage) + '">' + totalPage + '</a>&nbsp;</span>';


	}


	


	if(curPage < totalPage){


		pageStr += '<span class="grey-12">&nbsp;<a class="paging-per" href="' + gurl(curPage+1) + '">下一页</a>&nbsp;&gt;&gt;</span>';


	}


	


	return pageStr;


}

 

 

后端只需要 传入 3个参数即可

$pager = array(
    		'pagecount' => ceil($counter / $numPerPage),
    		'url' => 'url.php/page/-page-'
    		'page' => $cur_page,
    	);
    	
$this->_view['pager'] = $pager;

 

demo:

<p id="pageBar" page="<?php echo $pager['page'];?>" pagecount="<?php echo $pager['pagecount'];?>" url="<?php echo $pager['url'];?>"></p>
 

 

 

分享到:
评论
7 楼 macrotea 2011-05-27  
matyhtf 写道
JS分页,对搜索引擎不友好,分页将不能被爬虫检索。

确是如此
6 楼 vb2005xu 2011-05-27  
4k 的 正则表达式调试工具 你说是木马 严重质疑 你rp
5 楼 vb2005xu 2011-05-27  
871656094 写道
下载的东西是木马!


木马?不可能吧 .... 估计是你自己的毛病...

你 会不会啊
4 楼 871656094 2011-05-27  
下载的东西是木马!
3 楼 vb2005xu 2011-05-24  
呵呵 ... 感觉没有什么大的关系吧
2 楼 matyhtf 2011-05-24  
JS分页,对搜索引擎不友好,分页将不能被爬虫检索。
1 楼 vb2005xu 2011-05-22  
通用模型

<?php
/**
 * FAQ
 * 
 * <sql>
DROP TABLE IF EXISTS `product`;
CREATE TABLE IF NOT EXISTS `product` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(64) collate utf8_unicode_ci NOT NULL,
  `describe` text,
  `image` varchar(120) NOT NULL default '',
  `undercarriage` tinyint(1) default '0',
  `is_newest` tinyint(1) default '0',
  `is_recommend` tinyint(1) default '0',
  `recommend_image` varchar(120) NOT NULL default '',
  `created_at` int(11) NOT NULL,
  `updated_at` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
)DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 * </sql> 
 */
class ProductModel {
	
	public $tableName = 'product';
	public $primaryKey = 'id';	
	
	public $nameField = 'name';
	public $describeField = 'describe';
	public $imageField = 'image';
		
	/**
	 * 下架字段
	 */
	public $isUndercarriageField = 'undercarriage';
	public $isNewField = 'is_newest';
	public $isRecommendField = 'is_recommend';	
	public $recommendImageField = 'recommend_image';
	
	public $createdField = 'created_at';
	public $updatedField = 'updated_at';	

	function __construct(CoreDb $dbo){
		$this->_dbo = $dbo;
		$this->init();
	}
	
	protected function init(){
		$this->tableName = $this->_dbo->getDbUtils()->getTableName($this->tableName);
	}

	function find($cond, $fields='*'){
		$sqlCond = CoreDbSqlHelper::parseConditions($this->_dbo,$cond);
		if ($sqlCond) $sqlCond = "WHERE {$sqlCond}";
		
		$qfields = CoreDbSqlHelper::qfields($fields,$this->tableName);
		
		$sql = "SELECT {$qfields} FROM {$this->tableName} {$sqlCond}" . CoreDbSqlHelper::getLimitSql(1);
		
		return $this->_dbo->getRow($sql);
	}	

	function findAll($cond, $sort=null, $limit=null,& $counter=null, $fields='*'){
		
		$sqlCond = CoreDbSqlHelper::parseConditions($this->_dbo,$cond);
		if ($sqlCond) $sqlCond = "WHERE {$sqlCond}";
		if ($sort) $sort = "ORDER BY {$sort}";
		
		$qfields = CoreDbSqlHelper::qfields($fields,$this->tableName);
		
		$counter = $counter ? 'SQL_CALC_FOUND_ROWS' : '' ;
		
		$sql = "SELECT {$counter} {$qfields} FROM {$this->tableName} {$sqlCond} {$sort}". CoreDbSqlHelper::getLimitSql($limit);
		$rows = $this->_dbo->getAll($sql);
		
		if ($counter)
			$counter = $this->_dbo->getOne('SELECT FOUND_ROWS()') ;
			
		return $rows;
	}
	
	function delete($cond){
		$sqlCond = CoreDbSqlHelper::parseConditions($this->_dbo,$cond);
		if ($sqlCond) $sqlCond = "WHERE {$sqlCond}";
		
		$sql = "DELETE FROM {$this->tableName} {$sqlCond}";
		
		if ($this->_dbo->execute($sql))
			return $this->_dbo->lastQueryAffectedRows();
		return false;
	}
	
	function findByPkv($id, $fields='*') {
    	return $this->find(array($this->primaryKey=>$id),$fields);
    }
	
	/**
	 * 添加并返回插入的主键编号,必须提供questionField
	 * 
	 * @var array $faq
	 * 
	 * @return int
	 */
	function insert(array $faq){
		
		if (!isset($faq[$this->questionField]) || empty($faq[$this->questionField])) return false;
		
		$faq[$this->createdField] = CURRENT_TIMESTAMP;
		
		$sql = CoreDbSqlHelper::getInsertSQL($faq,$this->tableName);
		
		if ($sql){
			if ($this->_dbo->execute($sql,$faq,true))
				return $this->_dbo->lastInsertId();
		}
		return false;
	}
	
	function update(array $faq){
		
		// 未指定主键
		if (!isset($faq[$this->primaryKey])) return false;
		
		$faq[$this->updatedField] = CURRENT_TIMESTAMP;
		
		$sql = CoreDbSqlHelper::getUpdateSQL($this->_dbo,$faq,$this->primaryKey,$this->tableName);
		if ($sql){
			if ($this->_dbo->execute($sql,$faq))
				return $this->_dbo->lastQueryAffectedRows();
		}		
		return false;
	}
	
	
}

相关推荐

    jQueryPager(JQuery分页插件pagination实现Ajax分页)

    - `网络信息采集发布工具V7.0最新版.exe`可能是一个辅助工具,用于自动化收集和发布信息,与jQueryPager的分页功能无关,但可能在某些应用场景下与之配合使用。 总的来说,jQueryPager是一款易于集成且功能实用的...

    jQuery图片分页切换效果代码.zip

    在这个“jQuery图片分页切换效果代码.zip”压缩包中,包含了一个使用jQuery实现的图片分页切换效果,它基于jPages.js插件和jQuery 1.8.3版本的核心库。下面我们将深入探讨这个主题,详细解析相关的知识点。 首先,...

    分页列表,.net 的一个很好用的分页列表

    开发者会创建一个视图模型,包含当前页数据和分页参数,然后在控制器中处理数据库查询并传递数据给视图。视图则根据数据生成分页链接。 8. **数据库查询优化**: 分页查询时,需要考虑数据库性能,使用`Skip()`和`...

    推荐10个js分页样式

    - "脚本翻页效果.html"很可能包含一个示例,展示了如何使用JavaScript实现动态翻页效果,可能包括滑动、跳转、动画等多种方式。 5. **实现方式**: - 基于DOM操作:通过JavaScript直接修改DOM结构,动态加载每一...

    Javascript分页效果(收集了很多强大的JS分页代码)

    JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它...这个压缩包提供了一系列的JavaScript分页代码,无论你是新手还是经验丰富的开发者,都可以从中受益,学习如何在自己的网站上实现强大且高效的分页功能。

    am-pagination.js好看的分页样式插件.zip

    "am-pagination.js"是一款美观的分页样式插件,它为网页中的数据分页提供了便捷且高效的解决方案。...总的来说,"am-pagination.js"是一个强大且易于使用的分页插件,无论是初学者还是经验丰富的开发者,都能从中受益。

    分页源码-新闻发布系统

    【标题】"分页源码-新闻发布系统"指的是一个基于JSP技术的新闻发布平台,它实现了高效的分页功能,使得大量的新闻数据可以被有条不紊地展示在用户面前,提高用户体验并减轻服务器负担。 【描述】"这是一个jsp网页...

    基于vue20封装的一个分页组件

    "基于vue20封装的一个分页组件"的标题表明这个项目是一个使用Vue 2.x版本(通常指的是2.0到2.6)开发的,用于处理分页功能的组件。分页在网页应用中十分常见,特别是在数据量较大、需要分批次加载的情况下,能够提高...

    jQuery分页排序插件.zip

    1. 分页:jQuery分页插件能够将大量数据分割成多个小块,每个块对应一个页面,用户可以通过点击页码或导航按钮轻松浏览不同页面,提高数据浏览效率。 2. 排序:该插件支持对表格或其他HTML元素进行动态排序。用户...

    jquery.pager.js实现分页效果

    jquery.pager.js是一个用于实现分页效果的jQuery插件。使用该插件可以方便地在页面上生成分页链接,并且能够响应用户的点击事件,从而实现页面内容的分页显示。在使用前需要确保页面中已经引入了jQuery库以及jquery....

    js菜鸟笔记之超长文章分页_ekom.cn

    根据给定的信息,本文将对一个关于JavaScript分页技术的文章进行深入解读,提炼出关键的知识点。主要包括以下几个方面: ### 一、文章背景与目的 文章标题为“js菜鸟笔记之超长文章分页”,表明这是一篇面向...

    MvcAjaxPaging.rar分页

    【MvcAjaxPaging.rar分页】是一个针对ASP.NET MVC框架的Ajax分页实现,它旨在提升用户体验,通过异步方式加载页面内容,减轻服务器压力,同时保持页面的流畅性。这个压缩包包含了一系列核心文件,用于构建和配置一个...

    javascript分页控件20090312

    2009年3月12日发布的这个资源可能是一个JavaScript实现的分页插件或者代码库,它可以帮助开发者轻松地在网页中集成分页功能。尽管描述中提到包含一个非JavaScript的分页控件,但主要关注点仍在于JavaScript的实现。 ...

    jQuery Pagination分页插件.zip

    它是一个基于jQuery库的轻量级分页组件,通过简单的配置和调用,即可在网页中实现分页功能。这个插件的核心优势在于其灵活性,允许开发者根据项目需求进行定制,如改变样式、设置页码数量等。 压缩包中的文件结构...

    pdf.js v2.13.94-beta 支持chrome 80以下版本

    PDF.js是Mozilla开发的一个开源项目,它允许在Web浏览器中以纯JavaScript实现PDF文档的查看和渲染。这个项目的目标是提供一个与浏览器无关、高质量的PDF阅读体验。在这个特定的版本,v2.13.94-beta,特别强调了对...

    mricode分页组件

    `mricode分页组件` 是一个专门用于实现这种功能的JavaScript插件,它由Mricle开发并发布在GitHub上。通过使用`Mricode.Pagination`,开发者可以轻松地在网页中集成美观且功能丰富的分页功能。 首先,让我们深入了解...

    SelectPage下拉分页插件 v2.19-源码.zip

    1. **JavaScript编程基础**:分页插件通常使用JavaScript实现,因此你需要熟悉JavaScript的基本语法,包括变量、函数、条件语句、循环等。 2. **DOM操作**:理解如何通过JavaScript操作HTML元素,添加、删除、修改...

    AngularJS分页

    通过以上知识点的运用,我们可以构建出一个强大且灵活的AngularJS分页组件,满足各种应用场景的需求。在实际项目中,根据具体需求,可以对这些知识点进行组合和调整,以达到最佳效果。在提供的`AngularJsDemo`文件中...

Global site tag (gtag.js) - Google Analytics