javascript - Jquery 中的动态分页

标签 javascript jquery pagination jquery-pagination

我有这个代码:

//Pagination
	pageSize = 8;

	showPage = function(page) {
	    $(".line-content").hide();
	    $(".line-content").each(function(n) {
	        if (n >= pageSize * (page - 1) && n < pageSize * page)
	            $(this).show();
	    });        
	}
    
	showPage(1);

	$("#pagin li a").click(function() {
	    $("#pagin li a").removeClass("current");
	    $(this).addClass("current");
	    showPage(parseInt($(this).text())) 
	});
.current {
  color: green;
}

#pagin li {
  display: inline-block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="line-content">1 I have some content</div>
<div class="line-content">2 I have some content</div>
<div class="line-content">3 I have some content</div>
<div class="line-content">4 I have some content</div>
<div class="line-content">5 I have some content</div>
<div class="line-content">6 I have some content</div>
<div class="line-content">7 I have some content</div>
<div class="line-content">8 I have some content</div>
<div class="line-content">9 I have some content</div>
<div class="line-content">10 I have some content</div>
<div class="line-content">11 I have some content</div>
<div class="line-content">12 I have some content</div>

<ul id="pagin">
            <li><a class="current" href="#">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
            <li><a href="#">4</a></li>
</ul>

我希望数字根据要显示的 div 数量自动生成,而不是在 HTML 文件中手动写入数字。

我的代码可以工作,但第 3 页和第 4 页中没有任何内容。我希望它们使用 Jquery 动态更改,而不是更新 HTML 文件中的数字

最佳答案

计算页数,而不是通过循环创建页面链接。

//Pagination
	pageSize = 8;

	var pageCount =  $(".line-content").length / pageSize;
    
     for(var i = 0 ; i<pageCount;i++){
        
       $("#pagin").append('<li><a href="#">'+(i+1)+'</a></li> ');
     }
        $("#pagin li").first().find("a").addClass("current")
    showPage = function(page) {
	    $(".line-content").hide();
	    $(".line-content").each(function(n) {
	        if (n >= pageSize * (page - 1) && n < pageSize * page)
	            $(this).show();
	    });        
	}
    
	showPage(1);

	$("#pagin li a").click(function() {
	    $("#pagin li a").removeClass("current");
	    $(this).addClass("current");
	    showPage(parseInt($(this).text())) 
	});
.current {
  color: green;
}

#pagin li {
  display: inline-block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="line-content">1 I have some content</div>
<div class="line-content">2 I have some content</div>
<div class="line-content">3 I have some content</div>
<div class="line-content">4 I have some content</div>
<div class="line-content">5 I have some content</div>
<div class="line-content">6 I have some content</div>
<div class="line-content">7 I have some content</div>
<div class="line-content">8 I have some content</div>
<div class="line-content">9 I have some content</div>
<div class="line-content">10 I have some content</div>
<div class="line-content">11 I have some content</div>
<div class="line-content">12 I have some content</div>

<ul id="pagin">
         
</ul>

关于javascript - Jquery 中的动态分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31920360/

相关文章:

javascript - 如何使用纯javascript在当前网页中附加带有CSS、JS的HTML内容?

javascript - 选中复选框已禁用(Jquery)

asp.net - 让鼠标指针变成手来点击按钮

javascript - 具有单个 sql 查询的 PHP 分页

java - 使用 addCellPreviewHandler 的 GWT 双击仅适用于表格的第一页

ios - 页面控件 UITableView Swift

javascript - Phaser 在 Android 上不发出任何声音

javascript - $ (':target' ) 在 Internet Explorer 11 中返回长度 0

javascript - 图像悬停在jquery上消失

javascript - 我可以发送 key :value in function as parameter in jquery?