❶ 分页打印网页怎么做js或者jquery
用法:
$("div#printmain").printArea();
但还是会打印后面的内容,这里可以使用CSS控制打印分页
<div style="page-break-after: always;"></div>
有时用CSS控制分页了但还是会连续打印页面,这里就可以用上PrintArea 插件中的属性参数。
PrintArea部分源码:
var modes = { iframe : "iframe", popup : "popup" };
var defaults = { mode : modes.iframe,
popHt : 800,
popWd : 800,
popX : 200,
popY : 200,
popTitle : '',
popClose : false ,
twoDiv : '', //自已扩展的属性,为满足变态需求
pageTitle: ''};//自已扩展的属性,为满足变态需求
可以看出插件中定义的属性格式为JSON,下面介绍部分属性
modes定义了两个属性,指定popup时会打开新窗口,可以视为打印预览页面,默认为iframe。
@popClose | [boolean] | (false),true 打印完成后是否开闭预览页面,默认为false(不关闭)。
$("div#printmain").printArea({mode:"popup",popClose:true});
这样就可以指定DIV打印了。
下面说一下我新增两个属性的用途
twoDiv:
需要打印的第二个DIV ,当然会是第二页,这个页面比较长,需要自动分页,并且表格中每行都不一样,有些行跨了多行,这里打印出来,一行可能会打印在两张纸上。
pageTitle:
第二个DIV分成多页里,每一页的表头都需要一样,这个参数就是公用表头。
这两个参数都对应着页面中的DIV,如:
<div id="pageTitle" style="display: none;">
页面定义好后,我们看看插件中是如何处理我们的页面的。
writeDoc.open();
writeDoc.write(html); //打找一个窗口关写窗口中的HTML代码
writeDoc.close();
printWindow.focus();
printWindow.print();
下面是生成html的代码
html+=docType() + "<html>" + getHead() + getBody(thisPage) + "</html>";
插件中都定义了相义的方法,我没有做任何修改,这里我就不粘贴了。
下面是我的思路:
需在将一个DIV中的内容分成多页,且一行不跨多页,我们就得在生成html 代码上下功夫了。
首先找出DIV中的所有行,当公共表头加上这些行后高度达到一页,就需要分页了,这里就有可以一页中最后一行刚好跨了多页,将这一行保存下来,放到下一页。
每一页生成完成后都需要在HTML标签后面加上CSS分页标记,这样就打印机就会乖乖的分页。
说明一下,生成的预览页面一页就是一个HTML页面,它有对应的表头与DTD信息。
有人可能明明预览只有4页,而打印出来总会多一页,这时你需要检验一下你生成的页面中分页标记是不是在HTML标签之前。
分面标记一定要在HTML标签之后,这样可解决打印多打一页问题。
❷ 如何让JS 做的上一页 下一页 局部刷新啊,求解!!代码如下
你好, 楼主,我也是前两天才写过类似的例子, 也是实现分页效果的
我的操作:
1、首先建两个层、一个存放显示数据、另一个存放分页的那几个按钮
2、写一个js方法,比如说是DataLoad(). 然后利用ajax去操作数据库并通过json返回对象。然后在拼装html, 最后将拼装好的html代码动态追加到数据显示层中,
3、分页操作 。 全局定义一个page 和pagesize 变量, 你点击各种分页操作的时候改变page值。 然后将数据显示层中的内容全部删除, 再调用一次DataLoad()方法就行了 。
这样就能实现无刷新页面分页操作
❸ slick.js jquery分页custompaging怎么用
源代码里面有一个默认设置,大概是这么用的
❹ 请问如何用jquery 实现html页面的分页查询
首先你需要一个pageBean类,用来定义一些分页需要的数据!
public class PageBean<T> {
private int pageCount = 0; // 总页数
private List<T> pageData = null; // 当前页数据集
private int pageSize = 10; // 每页大小
private int currentPage = 1; // 当前页
private long totalRecord = 0; // 总记录数
private int beginIndex = 0; // 分页起始记录号
private int endIndex = 1; // 分页结束记录号
public int getPageCount() {
pageCount = (int)(totalRecord + pageSize -1)/pageSize;
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public List<T> getPageData() {
return pageData;
}
public void setPageData(List<T> pageData) {
this.pageData = pageData;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getCurrentPage() {
if (currentPage < 1) {
currentPage = 1;
}
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public long getTotalRecord() {
if (totalRecord < 0) {
totalRecord = 0;
}
return totalRecord;
}
public void setTotalRecord(long totalRecord) {
this.totalRecord = totalRecord;
}
public int getBeginIndex() {
beginIndex = (currentPage - 1) * pageSize+1;
return beginIndex;
}
public void setBeginIndex(int beginIndex) {
this.beginIndex = beginIndex;
}
public int getEndIndex() {
endIndex = currentPage * pageSize;
return endIndex;
}
public void setEndIndex(int endIndex) {
this.endIndex = endIndex;
}
}
页面上,使用jQuery的Ajax发送后台请求信息:
$.ajax({
type:"post",
url:"requestPage",
dataType:"json",
data:{这里就是封装数据的地方,比如你要到第二页的时候,在这之前要读取当前的页数,并进行适当的判断,是键值对的形式例如:"current":1,"pageSize":10},
success:function(data){
这里是返回json字符串
var jsonObj=$(data);
然后解析遍历json
$.each(data.pageData,function(index,item){
这个回调函数里面的第一个参数是下标,第二个参数是集合里面的单个对象
然后生成显示…………结束
});
}
}):
❺ jquery怎么动态实现表格分页
jquery动态实现表格分页的方法是利用自带的分页插件jQuery.page.js。
下面是使用方法:
$(".tcdPageCode").createPage({
pageCount:10,
current:1,
backFn:function(p){
//单击回调方法,p是当前页码
}
});
pageCount:总页数
current:当前页
实现分页的tab如下:
<div class="tcdPageCode">
<span class="disabled">上一页</span>
<span class="current">1</span>
<a href="javascript:;" class="tcdNumber">2</a>
<a href="javascript:;" class="tcdNumber">3</a>
<a href="javascript:;" class="tcdNumber">4</a>
<span>...</span>
<a href="javascript:;" class="tcdNumber">6</a><a href="javascript:;" class="nextPage">下一页</a></div>
实现效果:
❻ jquery动态怎么实现表格分页
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<metaname="viewport"content="width=device-width,initial-scale=1.0">
<metahttp-equiv="X-UA-Compatible"content="ie=edge">
<title>Document</title>
</head>
<body>
<table>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
</tr>
</table>
<tableid="result">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
<divid="barcon"></div>
<script>
window.onload=function(){
goPage(1)
}
functiongoPage(pno){
varitable=document.getElementById("result");
varnum=itable.rows.length;//表格所有行数(所有记录数)
console.log(num);
vartotalPage=0;//总页数
varpageSize=3;//每页显示行数
//总共分几页
if(num/pageSize>parseInt(num/pageSize)){
totalPage=parseInt(num/pageSize)+1;
}else{
totalPage=parseInt(num/pageSize);
}
varcurrentPage=pno;//当前页数
varstartRow=(currentPage-1)*pageSize+1;//开始显示的行31
varendRow=currentPage*pageSize;//结束显示的行40
endRow=(endRow>num)?num:endRow;//40
//遍历显示数据实现分页
for(vari=1;i<(num+1);i++){
varirow=itable.rows[i-1];
if(i>=startRow&&i<=endRow){
irow.style.display="table-row";
}else{
irow.style.display="none";
}
}
varpageEnd=document.getElementById("pageEnd");
vartempStr="<span>共"+totalPage+"页</span>";
if(currentPage>1){
tempStr+="<spanclass='btnspanbtn'href="#"onClick="goPage("+(1)+")">首页</span>";
tempStr+="<spanclass='btnspanbtn'href="#"onClick="goPage("+(currentPage-1)+")">上一页</span>"
}else{
tempStr+="<spanclass='btnspanbtn'>首页</span>";
tempStr+="<spanclass='btnspanbtn'>上一页</span>";
}
if(totalPage==1){
tempStr+="<aonclick="goPage("+currentPage+")"><spanclass='spanbtnnowpagepageicon'>"+currentPage+
"</span></a>"
}elseif(totalPage==2&¤tPage==1){
tempStr+="<aonclick="goPage("+currentPage+")"><spanclass='spanbtnpageiconnowpage'>"+currentPage+
"</span></a>"+"<aonclick="goPage("+(currentPage+1)+")"><spanclass='spanbtnpageicon'>"+
(currentPage+1)+"</span></a>"
}elseif(totalPage==2&¤tPage==2){
tempStr+="<aonclick="goPage("+(currentPage-1)+")"><spanclass='spanbtnpageicon'>"+(currentPage-
1)+"</span></a>"+"<aonclick="goPage("+currentPage+")"><spanclass='spanbtnnowpagepageicon'>"+
currentPage+"</span></a>"
}elseif(totalPage>=3&¤tPage==1){
tempStr+="<aonclick="goPage("+currentPage+")"><spanclass='spanbtnnowpagepageicon'>"+currentPage+
"</span></a>"+"<aonclick="goPage("+(currentPage+1)+")"><spanclass='spanbtnpageicon'>"+
(currentPage+1)+
"</span></a>"+"<aonclick="goPage("+(currentPage+2)+")"><spanclass='spanbtnpageicon'>"+(
currentPage+2)+
"</span></a>"
}elseif(totalPage>=3&¤tPage==totalPage){
tempStr+="<aonclick="goPage("+(currentPage-2)+")"><spanclass='spanbtnpageicon'>"+(currentPage-
2)+
"</span></a>"+"<aonclick="goPage("+(currentPage-1)+")"><spanclass='spanbtnpageicon'>"+
(currentPage-1)+
"</span></a>"+"<aonclick="goPage("+currentPage+")"><spanclass='spanbtnnowpagepageicon'>"+
currentPage+
"</span></a>"
}else{
tempStr+="<aonclick="goPage("+(currentPage-1)+")"><spanclass='spanbtnpageicon'>"+(currentPage-
1)+
"</span></a>"+"<aonclick="goPage("+currentPage+")"><spanclass='spanbtnnowpagepageicon'>"+
currentPage+
"</span></a>"+"<aonclick="goPage("+(currentPage+1)+")"><spanclass='spanbtnpageicon'>"+(
currentPage+1)+
"</span></a>"
}
if(currentPage<totalPage){
tempStr+="<spanclass='btnspanbtn'href="#"onClick="goPage("+(currentPage+1)+")">下一页</span>";
tempStr+="<spanclass='btnspanbtn'href="#"onClick="goPage("+(totalPage)+")">尾页</span>";
}else{
tempStr+="<spanclass='btnspanbtn'>下一页</span>";
tempStr+="<spanclass='btnspanbtn'>尾页</span>";
}
document.getElementById("barcon").innerHTML=tempStr;
}
</script>
</body>
</html>
自己修改一下table中元素的CSS样式,分页页码的样式,就能看出来效果了