首页 > 其他分享 >JS实现html列表分页功能

JS实现html列表分页功能

时间:2022-09-06 10:46:15浏览次数:93  
标签:document cur value 列表 pagename html var JS page

html代码

<div class="page-block">
    <div class="page page-1">
      <ul>
        <li class="article-hover">
          <div class="info-content">
            <a href="1.html" target="mainIframe">第一页文章</a>
            <span class="Date">2022-10-08</span>
          </div>
        </li>
        <hr/>
        <li class="article-hover">
          <div class="info-content">
            <a href="1.html" target="mainIframe">第一页文章</a>
            <span >2022-10-08</span>
          </div>
        </li>
      </ul>
    </div>

    <div class="page-block">
      <div class="page page-3">
        <ul>
          <li class="article-hover">
            <div class="info-content">
              <a href="1.html" target="mainIframe">第一页文章</a>
              <span class="Date">2022-10-08</span>
            </div>
          </li>
          <hr/>
          <li class="article-hover">
            <div class="info-content">
              <a href="1.html" target="mainIframe">第一页文章</a>
              <span >2022-10-08</span>
            </div>
          </li>
        </ul>
      </div>
  </div>


<!-- 分页按钮 -->
<!--增加页数时,需要修改articlePage.js里的第2行-->
<div class="page-icon">
  <button class="firstPage" onclick="first_click()" >第一页</button>
  <button class="beforePage" onclick="prev_click()" ><</button>
  <button>第<input id="currentPage" onchange="choose_page()" type="text" value="1"/>页</button>
  <button>/&nbsp;&nbsp;&nbsp;共<input id="totalPage" type="button"  value="" readonly="readonly">页</button>
  <button class="nextPage" onclick="next_click()">></button>
  <button class="lastPage" onclick="last_click()">最后页</button>			
</div>

js:

 //计算总页数
	var totalPage=document.getElementById("totalPage")
	window.onload=function(){ 
	 var pageTotalNumber=document.getElementsByClassName("page").length
	 totalPage.value=pageTotalNumber;
	 } 
	 
// 定义一个数组,保存当前所有页面的class name, 形成page_index=["page-1","page-2",......]
var page_index=new Array();
for(var i=1;i<=document.getElementsByClassName("page").length;i++){
	page_index.push("page-"+i);
}

// 输入pagename,打开指定的div,隐藏其他的div
function page_option(pagename){
	var tar_index = page_index.indexOf(pagename);
	page_index.slice(tar_index, 1);
	for (var j = 0; j < page_index.length ; j++){
		var close_div = document.getElementsByClassName(page_index[j]);
		for (var i = 0; i<close_div.length;i++) {
			   close_div[i].style.display="none";
		};
	}
	var opendiv = document.getElementsByClassName(pagename);
	for (var i = 0; i<opendiv.length;i++) {
		   opendiv[i].style.display="block";
	};
}

// 点击 返回第一页按钮 执行的操作
function first_click(){
	page_option("page-1");
	document.getElementById('currentPage').value=1;
}

// 点击 跳到最后一页按钮 执行的操作
function last_click(){
	var total_page = document.getElementById('totalPage').value;
	page_option(page_index[page_index.length - 1]);
	document.getElementById('currentPage').value=total_page;
}

// 点击 上一页按钮 执行的操作
function prev_click(){
	var cur_page = document.getElementById('currentPage').value;
	if (cur_page > 1){
		document.getElementById('currentPage').value=parseInt(cur_page)-1;
		var pagename = page_index[parseInt(cur_page)-2];
		page_option(pagename);
	}
}

// 点击 下一页按钮 执行的操作
function next_click(){
	var cur_page = document.getElementById('currentPage').value;
	var total_page = document.getElementById('totalPage').value;
	if (cur_page < total_page){
		document.getElementById('currentPage').value=parseInt(cur_page) + 1;
		var pagename = page_index[parseInt(cur_page)];
		page_option(pagename);
	}
}

// 手动改变当前页码时执行的操作
function choose_page(){
	var cur_page = document.getElementById('currentPage').value;
	var pagename = page_index[parseInt(cur_page)-1];
	page_option(pagename);
}

标签:document,cur,value,列表,pagename,html,var,JS,page
From: https://www.cnblogs.com/huangchun/p/16660919.html

相关文章

  • 【面试题】js实现将excel表格copy到页面
    js实现将excel表格copy到页面点击打开视频讲解更加详细其实最核心的技术,还是copy的是我们粘贴板上的数据就像平常怎么粘贴复制其他的数据一样,只是我们在excel粘贴的是一......
  • fastJson将json对象转为java对象,属性名不同的映射(@JSONField)
    JSONObject.toJavaObject(JSONjson,Class<T>clazz);  功能:1.将json转为java对象2.json中下划线格式自动映射到java属性中驼峰格式‘3.如果json中的字段......
  • HTML常用标签
    已经正式开始JavaWeb的学习了,但是感觉我们的起步有点晚,可能因为我们学习的重点在网页后台的原因?现在才学网页的知识。之前也看了些视频,但是前端知识确实好多没记住,所以写一......
  • 我写了一个 HTML 画布数据网格,所以你不必
    我写了一个HTML画布数据网格,所以你不必GlideDataGridinallitsCanvasbasedglory对于Web开发人员来说,HTML5画布是一个非常强大且未被充分利用的工具。它也......
  • 日常开发记录-dangerouslyUseHTMLString:true; 属性的作用
    将dangerouslyUseHtmlString属性设置为true,message就会被当做HTML片段处理。  案例demo:this.$notify({title:'HTML片段',dangerously......
  • 动画标签 HTML CSS JavaScript
    动画标签HTMLCSSJavaScript动画标签HTMLCSSJavaScript免费下载HTML:<linkrel="样式表"href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1......
  • 带有弹出窗口的社交媒体图标(仅限 HTML + 纯 CSS)
    带有弹出窗口的社交媒体图标(仅限HTML+纯CSS)带有弹出窗口的社交媒体图标(仅限HTML+纯CSS)免费下载HTML:<ulclass="wrapper"><liclass="iconfacebook"><......
  • Day01初识HTML
    HTML+CSS+JavaScript结构+表现+交互重点:1.表单及表单应用​1.表单初级验证什么是HTMLHyperTextMarkupLanguage(超文本语言)超文本包括:文字,......
  • Day03列表标签
    列表什么是列表?就是信息资源的一种展示形式,它可以使信息结构化条理化,并以列表的样式显示出来,一边浏览者能更快地获得相应的信息列表的分类:无序列表有序列表定义列表......
  • js for...in和for...of的区别
    jsfor...in和for...of的区别首先,for-in是ES5标准,遍历的是key(可遍历对象、数组或字符串的key);for-of是ES6标准,遍历的是value(可遍历对象、数组或字符串的value)。for...in......