我正在创建一个被分页的表(每页只显示10个元素)。我不确定该表将有多大,因为用户是动态添加它的。我想要的数字与表格中的页面相对应,当用户点击其中一个页面时,它会加载该页面的元素。我还想显示用户当前所在的页面。 目前我有一个整数跟踪用户所在的页面,下一个后退,第一个和最后一个按钮。 我真正需要知道的是如何创建一个可点击的动态数字集。 我正在使用Chrome浏览器,HTML5和JS。
提前thanx
Java脚本
function display(){//shows the Status Table
document.getElementById("DStatusTable").hidden='';
document.getElementById("buttons").hidden='';
var table = document.getElementById('statusTable');
for(var i =1; i<table.rows.length; i++){
var x =table.rows[i].cells;
table.rows[i].id ='notselected';
table.rows[i].hidden='';
if (!((pageCUR*10+i)>fileLIST.length)){
x[0].innerHTML = fileLIST[pageCUR*10+(i-1)]
[0].name;
x[1].innerHTML = fileLIST[pageCUR*10+
(i-1)][1];
}
else{
table.rows[i].hidden='hidden';
}
function nextPage(){//shows next page
pageCUR++;
if (pageCUR>=parseInt(pageMAX)){//checks if on last page
document.getElementById('Next').hidden='hidden';
document.getElementById('Last').hidden='hidden'; }
else {
document.getElementById('Next').hidden='';
document.getElementById('Last').hidden='';
}
document.getElementById('Back').hidden='';
document.getElementById('First').hidden='';
display();
}
function backPage(){//shows previous page
pageCUR--;
if (pageCUR==0){//checks if on first page
document.getElementById('Back').hidden='hidden';
document.getElementById('First').hidden='hidden';
}
else{
document.getElementById('Back').hidden='';
document.getElementById('First').hidden='';
}
document.getElementById('Next').hidden=''
document.getElementById('Last').hidden=''
display();
}
function firstPage(){//shows first page
pageCUR =0;
document.getElementById('First').hidden='hidden';
document.getElementById('Back').hidden='hidden';
document.getElementById('Next').hidden='';
document.getElementById('Last').hidden='';
display();
}
function lastPage(){//shows last page
pageCUR =parseInt(pageMAX);
document.getElementById('First').hidden='';
document.getElementById('Back').hidden='';
document.getElementById('Next').hidden='hidden';
document.getElementById('Last').hidden='hidden';
display();
}
HTML5
<div class="StatusTable" id="DStatusTable" hidden>
<table id='statusTable' border='1'>
<thead><tr>
<th> NAME</th>
<th>STATUS</th>
</tr>
</thead>
<tbody>
<tr id="row1">
<td onclick = "play(0)">video 1</td>
<td onclick="SET(this,0)" ></td></tr>
<tr id="row2">
<td onclick = "play(1)">video 1</td>
<td onclick="SET(this,1)" ></td></tr>
<tr id="row3">
<td onclick = "play(2)">video 1</td>
<td onclick="SET(this,2)" ></td></tr>
<tr id="row4">
<td onclick = "play(3)">video 1</td>
<td onclick="SET(this,3)" ></td></tr>
<tr id="row5">
<td onclick = "play(4)">video 1</td>
<td onclick="SET(this,4)" ></td></tr>
<tr id="row6">
<td onclick = "play(5)">video 1</td>
<td onclick="SET(this,5)" ></td></tr>
<tr id="row7">
<td onclick = "play(6)">video 1</td>
<td onclick="SET(this,6)" ></td></tr>
<tr id="row8">
<td onclick = "play(7)">video 1</td>
<td onclick="SET(this,7)" ></td></tr>
<tr id="row9">
<td onclick = "play(8)">video 1</td>
<td onclick="SET(this,8)" ></td></tr>
<tr id="row10">
<td onclick = "play(9)">video 1</td>
<td onclick="SET(this,9)" ></td></tr>
</tbody>
</table>
</div>
以及我有2个全局变量pageCUR和pageMAX,它们包含当前页面的索引和最大(最后)页面的索引
答案 0 :(得分:1)
这是你在JavaScript中生成分页的方法(使用jQuery):JSFiddle-Example
请注意,window.changePage = function ...
只是JSFiddle中的一种解决方法,可以使此功能全局化。您加载下一页的JScript代码就在其中。
function changePage (page){
alert('change page to ' + page);
}
function makePagination(n){
for(var i=0; i<=5; i++){
$("<a onclick='changePage("+i+");'>"+i+"</a>").appendTo('#pagination');
if(i!=5) $('#pagination').append(' | ');
}
}
$(document).ready(function () {
makePagination(5); // Number of pages
});
与
<div id='pagination'></div>
答案 1 :(得分:0)
这是我最终用来改变我的页面
JS
function makePagination(){
var x = document.getElementById('pagination');
var y='|';
for(var i=0; i<=(pageMAX); i++){
y= y+"<a id ='pageNumber"+i+"' onclick='changePage("+ (i+1)+");'>"+(i+1)+"</a>\n ";
if(i!=(fileLIST.length/10)) y=y+' | ';
}
x.innerHTML=y
}
function changePage(k){
pageCUR = k-1;
display();
}
以及HTML div
<div id='pagination'></div>