存档

文章标签 ‘常用’

用php写的一个常用分页效果类(含javascript版本)

2020年12月3日 评论已被关闭

来看看php版本

<?php
//使用说明:http://www.zhanghongliang.com/article/1509
class myPage{
	private $url='';
	private $urlPre='';
	private $urlExt='';
	private $language=array('first'=>'首页','pre'=>'上一页','next'=>'下一页','dijiye'=>'第<page>页','last'=>'尾页');
	private $languagePre='';
	private $languageExt='';

	function get($v){
		$rowCount=$v['rowCount'];
		$pageSize=$v['pageSize'];
		$nowPage=$v['nowPage'];
        $pageCountShow=$v['pageCountShow'];
        if(!isset($pageCountShow)){
            $pageCountShow=true;
        }
		$html='';
		$limit='';
		$pageCount=intval(ceil($rowCount/$pageSize));
		if($pageCount==1){//总页只有1页
			$limit='0,'.$pageSize;
		}
		else {
			//当前页小于等于总页,再处理
			if($nowPage<=$pageCount){
				$this->url=$v['url'];
				if(is_array($v['language'])){
					foreach($v['language'] as $languageK=>$languageV){
						$this->language[$languageK]=$languageV;
					}
				}
				$limit=($pageSize*($nowPage-1)).','.$pageSize;
				//计算分页html
				if($nowPage>5) {
					if($nowPage>=$pageCount){
						if($pageCount<9){$starti=1;}
						else {$starti=$pageCount-9;}
						$endi=$pageCount;$page=$pageCount;
					}
					else{
						if($pageCount<=10){
							$starti=1;$endi=$pageCount;
						}
						else {
							if($pageCount-$nowPage<=4){
								$starti=$pageCount-9;$endi=$pageCount;
							}
							else{
								$starti=$nowPage-4;$endi=$nowPage+4;
							}
						}
					}
				}
				else {
					$starti=1;
					if($pageCount>10){$endi=10;}
					else{$endi=$pageCount;}
					if(!$nowPage){$nowPage=1;}
				}
				$html='<div id="'.$v['divId'].'">';
				if($nowPage!=1){
					if($nowPage>1){
						$html.='<a title="'.$this->language['first'].'" href="'.$this->pageUrl(1).'">'.$this->language['first'].'</a>';
					}
					$html.='<a title="'.$this->language['pre'].'" href="'.$this->pageUrl($nowPage-1).'">'.$this->language['pre'].'</a>';
				}
				for($pi=$starti;$pi<=$endi;$pi++){
					$html.='<a title="'.$this->dijiYe($pi).'" href="'.((($pi==1 && $nowPage==1) || ($pi==$pageCount && $nowPage==$pageCount))?'###':$this->pageUrl($pi)).'"'.($pi==$nowPage?" class='".$v['onPageClassName']."'":'').'>'.$pi.'</a>';						
				}
				if($nowPage!=$pageCount && $nowPage<$pageCount){
					$html.='<a title="'.$this->language['next'].'" href="'.$this->pageUrl($nowPage+1).'">'.$this->language['next'].'</a>';
				}
				if($pageCount!=$nowPage){
					$html.='<a title="'.$this->language['last'].'" href="'.$this->pageUrl($pageCount).'">'.$this->language['last'].($pageCountShow?'('.$pageCount.')':'').'</a>';
				}
				$html.='</div>';
			}
		}
		return array('limit'=>$limit,'html'=>$html,'pageCount'=>$pageCount);
	}
	function pageUrl($page){
		if($this->urlPre==''){
			$pos=strpos($this->url,'<page>');
			$this->urlPre=substr($this->url,0,$pos);
			$this->urlExt=str_replace('<page>','',substr($this->url,$pos));
		}
		return $this->urlPre.$page.$this->urlExt;
	}
	function dijiYe($page){
		if($this->languagePre==''){
			$pos=strpos($this->language['dijiye'],'<page>');
			$this->languagePre=substr($this->language['dijiye'],0,$pos);
			$this->languageExt=str_replace('<page>','',substr($this->language['dijiye'],$pos));
		}
		return $this->languagePre.$page.$this->languageExt;
	}
}

再来看看JavaScript版本

/**
 * 分页调取方法
 * var pagehtml = pageHtml(obj.data.totalcount,15,1,'/list/<page>.html',true,'on','onPageClassName',{'first':'Home','pre':'Prev','next':'Next','dijiye':'No. <page>','last':'Last'});
 * 返回结果:{limit: "0,15", html: "<div id="pageList"><a title="第1页" href="###" class="on">1</a>...<a title="尾页" href="/list-42/17658.html">尾页(17658)</a></div>", pageCount: 2491}
 * 输出html方法:if(pagehtml){$('#pages').html(pagehtml.html);}
 * @param rowCount 必填,总记录条数
 * @param pageSize 必填,每页多少条数据
 * @param nowPage 必填,当前页,默认为1
 * @param url 必填,url参数会替换<page> 例如:/list-5/<page>.html
 * @param addUrlGetParam 选填,url是否最后追加url参数,默认为false,不追加
 * @param onPageClassName, 必填,当前页的a链接样式名称,会输出<a class="参数值"></a>,默认为on
 * @param divId 必填,用于控制css,会输出<div id="参数值"></div>,默认为pageList
 * @param language 选填,语言包(支持只指定个别) 默认为{'first':'首页','pre':'上一页','next':'下一页','dijiye':'第<page>页','last':'尾页'}
 * @param pageCountShow 选填,是否显示总页数,默认为true
 */
function pageHtml(rowCount,pageSize=15,nowPage=1,url='',addUrlGetParam=false,divId='',onPageClassName='',language='',pageCountShow=true){
	rowCount = isNaN(parseInt(rowCount)) ? 0 : parseInt(rowCount);
	pageSize = isNaN(parseInt(pageSize)) ? 0 : parseInt(pageSize);
	nowPage = isNaN(parseInt(nowPage)) ? 0 : parseInt(nowPage);
	if(rowCount==0 || pageSize==0 || nowPage==0 || url=='' || url==undefined){
		return;
	}
	var pageCount = parseInt(Math.ceil(rowCount / pageSize));
	var htmlStr = '';
	var limit = '';
	if(pageCount <= 1){//总页只有1页
		limit='0,1';
		return {'limit':limit,'html':htmlStr,'pageCount':pageCount};
	}else{
		var lang = {
			'first':'首页',
			'pre':'上一页',
			'next':'下一页',
			'dijiye':'第<page>页',
			'last':'尾页'
		};
		if(language!='' || language!=undefined){
			for (let key in language){
				lang[key] = language[key];
			}
		}
		var endi=pageCount;
		var starti=1;
		var thisParam = window.location.href.split('?')[1];
		var paramStr = (thisParam=='' || thisParam==undefined) ? '' : '?' + (addUrlGetParam ? thisParam : '');
		url = url + paramStr;
		if(onPageClassName=='' || onPageClassName==undefined){
			onPageClassName = 'on';
		}
		if(divId=='' || divId==undefined){
			divId = 'pageList';
		}
		//当前页小于等于总页,再处理
		if(nowPage<=pageCount){
			limit = (pageSize*(nowPage-1))+','+pageSize;
			//计算分页html
			if(nowPage>5) {
				if(nowPage>=pageCount){
					if(pageCount<9){
						starti=1;
					}else{
						starti=pageCount-9;
					}
					endi=pageCount;
				}
				else{
					if(pageCount<=10){
						starti=1;endi=pageCount;
					}
					else {
						if(pageCount-nowPage<=4){
							starti=pageCount-9;endi=pageCount;
						}else{
							starti=nowPage-4;endi=nowPage+4;
						}
					}
				}
			}else{
				starti=1;
				if(pageCount>10){
					endi=10;
				}else{
					endi=pageCount;
				}
				if(!nowPage){
					nowPage=1;
				}
			}
			htmlStr='<div id="'+divId+'">';
			if(nowPage!=1){
				if(nowPage>1){
					htmlStr+='<a title="'+lang['first']+'" href="'+url.replace('<page>',1)+'">'+lang['first']+'</a>';
				}
				htmlStr+='<a title="'+lang['pre']+'" href="'+url.replace('<page>',nowPage-1)+'">'+lang['pre']+'</a>';
			}
			for(pi=starti;pi<=endi;pi++){
				htmlStr+='<a title="'+lang['dijiye'].replace('<page>',pi)+'" href="'+(((pi==1 && nowPage==1) || (pi==pageCount && nowPage==pageCount))?'###':url.replace('<page>',pi))+'"'+(pi==nowPage?" class='"+onPageClassName+"'":'')+'>'+pi+'</a>';
			}
			if(nowPage!=pageCount && nowPage<pageCount){
				htmlStr+='<a title="'+lang['next']+'" href="'+url.replace('<page>',nowPage+1)+'">'+lang['next']+'</a>';
			}
			var showPageCount = pageCountShow ? '('+pageCount+')' : '';
			if(pageCount!=nowPage){
				htmlStr+='<a title="'+lang['last']+'" href="'+url.replace('<page>',pageCount)+'">'+lang['last']+showPageCount+'</a>';
			}
			htmlStr+='</div>';
		}
		return {'limit':limit,'html':htmlStr,'pageCount':pageCount};
	}
}

国内常用android安卓应用市场列表

2016年5月9日 没有评论

com.tencent.android.qqdownloader    应用宝
com.wandoujia.phoenix2 豌豆荚
com.hiapk.marketpho 安卓市场
cn.goapk.market 安智市场
com.sogou.androidtool 搜狗手机助手
com.qihoo.appstore  360手机助手

91
搜狗市场
机锋市场
爱米软件商店
优亿市场
掌上应用汇
开奇商店
N多市场
安卓星空
巴士商店
XDA市场
安丰下载
历趣安卓市场
联想应用
欧米
网易应用
moto智件园

分类: android 标签: , , , ,
css.php