ฉันกำลังพยายามสร้างการแบ่งหน้าจาวาสคริปต์แบบง่าย (เฉพาะปุ่มถัดไปก่อนหน้า) สำหรับลิงก์ <li>
ของฉัน นี่คือรายการลิงก์ของฉัน:
<div class="panel-body">
<div id="listingTable">
<ul id = "Mylinks" class="paging">
<li style="display: none;"><a href="http://site1.com" rel="nofollow">Description1</a></li>
<li style="display: none;"><a href="http://site2.com" rel="nofollow">Description2</a></li>
<li style="display: none;"><a href="http://site3.com" rel="nofollow">Description3</a></li>
<li style="display: none;"><a href="http://site4.com" rel="nofollow">Description4</a></li>
<li style="display: none;"><a href="http://site5.com" rel="nofollow">Description5</a></li>
<li style="display: none;"><a href="http://site6.com" rel="nofollow">Description6</a></li>
<li style="display: none;"><a href="http://site7.com" rel="nofollow">Description7</a></li>
<li style="display: none;"><a href="http://site100.com" rel="nofollow">Description100</a></li>
//Number of links is unlimited.
</ul>
</div>
<ul class="pager">
<li><a href="/thjavascript:prevPage()" id="btn_prev">previous</a></li>
<li><a href="/thjavascript:nextPage()" id="btn_next">next</a></li>
</ul>
</div>
ฉันใช้ bootstrap css ฉันไม่ต้องการใช้ jquery รหัสของฉันเกือบจะใช้งานได้แล้ว
var current_page = 1;
var records_per_page = 3;
function prevPage()
{
if (current_page > 1) {
current_page--;
changePage(current_page);
}
}
function nextPage()
{
if (current_page < numPages()) {
current_page++;
changePage(current_page);
}
}
function changePage(page)
{
var btn_next = document.getElementById("btn_next");
var btn_prev = document.getElementById("btn_prev");
var listing_table = document.getElementById("listingTable");
var page_span = document.getElementById("page");
// Validate page
if (page < 1) page = 1;
if (page > numPages()) page = numPages();
var list = document.getElementById('linkbox'),items = list.childNodes;
for (var i = (page-1) * records_per_page; i < (page * records_per_page) && i < childNodes.length; i++) {
items[i].style.display = "block";
}
}
page_span.innerHTML = page + "/" + numPages();
if (page == 1) {
btn_prev.style.visibility = "hidden";
} else {
btn_prev.style.visibility = "visible";
}
if (page == numPages()) {
btn_next.style.visibility = "hidden";
} else {
btn_next.style.visibility = "visible";
}
}
function numPages()
{
return Math.ceil(objJson.length / records_per_page);
}
window.onload = function() {
changePage(1);
};
แต่ปัญหาคือ var objJson = []
ฉันต้องการใช้ style="display: block;"
สำหรับหน้าที่ 1 และใส่ style="display: none;"
สำหรับลิงก์ที่เหลือ เมื่อหน้าเปลี่ยนสไตล์ก็เปลี่ยนเช่นกัน
อัปเดตแล้ว:
ฉันใส่ลิงก์ของฉันโดยตรงไว้ข้างใน <ul>
ฉันคิดว่ามันไม่ดีเลยที่จะใส่ลิงก์เหล่านั้นในจาวาสคริปต์และแสดงเพียงบางส่วนเท่านั้น ความแตกต่างคือ: google พิจารณาลิงก์ทั้งหมดภายใน <ul></ul>
แต่เมื่อฉันใส่ลิงก์เหล่านั้นในจาวาสคริปต์ มีเพียงหน้าที่ 1 เท่านั้นที่อยู่ใน <ul></ul>
ฉันควรได้รับลิงก์ทั้งหมดโดย:
var list = document.getElementById('Mylinks'),
items = list.childNodes;
for (var i = 0, length = childNodes.length; i < length; i++)
{
if (items[i].nodeType != 1) {
continue;
}
items[i].style.display = "block";
}
และอัพเดตสไตล์สำหรับหน้า 1 ถึง style="display: block;"
<li><a href="http://site1.com" rel="nofollow">Description1</a></li>
) ถูกสร้างขึ้นแบบไดนามิกด้วยobjJson
? - person Steeve Pitis   schedule 11.10.2016<ul class="paging"></ul>
ฉันคิดว่าฉันควรลบvar objJson = []
และเปลี่ยนรหัสภายใน @SteevePitis - person محمد علی پور فتحک   schedule 11.10.2016initPages
ของฉันออก - person Steeve Pitis   schedule 11.10.2016