当前位置: 首页 > news >正文

连云港市建设工程安全监督站网站北京高端品牌网站建设

连云港市建设工程安全监督站网站,北京高端品牌网站建设,网站开发怎么样?,WordPress黑镜组件用惯了,突然叫你用纯cssJavaScript写一个分页,顿时就慌了。久久没有接触js了,不知道咋写了。本文章也是借与参考做的一个demo案例,小白看了都会的那种。咱们就以ul列表为例进行分页: 首先模拟的数据列表是这样的&a…

组件用惯了,突然叫你用纯css+JavaScript写一个分页,顿时就慌了。久久没有接触js了,不知道咋写了。本文章也是借与参考做的一个demo案例,小白看了都会的那种。咱们就以ul列表为例进行分页:

首先模拟的数据列表是这样的,默认有8条数据:

<div class="example"><ul id="list"><li>这是list1</li><li>这是list2</li><li>这是list3</li><li>这是list4</li><li>这是list5</li><li>这是list6</li><li>这是list7</li><li>这是list8</li></ul><ul id="page"></ul>
</div>

在这里插入图片描述
第一步:修改一下样式(一条li标签假如有40px的高度,现在有8个则整个ul有320px;我现在需要进行一个页面显示5条数据;我们就给ul标签调整一下样式)

#list {width:400px;height:200px;margin:10px auto;border:1px solid #ccc;overflow:hidden;
}

固定高度将5条数据显示出来(200px),溢出的li将进行隐藏,就会显示这样:
在这里插入图片描述
第二步.使用js操作将页面的标签进行获取进行后面的处理

    var pageList = document.getElementById("list");var pageLi = pageList.getElementsByTagName("li");var pageBtn = document.getElementById("page");

定义分页并计算页面数量:
上方获li获取标签为8;这里是一个页面显示5条数据所以对pageLi进行取模;为0则是Math.floor不是则是Math.ceil,Math.floor是向下取整( 1.6 => 1),Math.ceil为向上取整(1.6=>2 ),所以这里n最后等于2,页面为2。

    var n = 0;//定义分页if (pageLi.length % 5 == 0) {//计算页数n = Math.floor(pageLi.length / 5);//向下取整 1.6 => 1} else {n = Math.ceil(pageLi.length / 5);//向上取整 1.6=>2 }

第三步:页面数量得到了就要创建分页标签,因为html只有一个ul标签 我们要将li进行动态生成

    for (var i = 1; i <= n; i++) {pageli2= document.createElement("li");  //创建li元素pageli2.style.cssText = "width:30px;height:30px;background:pink;margin:0 5px;display: inline-block;text-align:center;line-height:30px;color:white";//元素样式pageli2.innerHTML = i; //页面数显示在li标签里pageBtn.appendChild(cLi); //将li加入到ul下}

然后获取分页li进行样式设置

    var aLi = pageBtn.getElementsByTagName("li"); for (var i = 0; i <= n - 1; i++) {aLi[i].index = i; //下标aLi[0].style.background = "pink"; //样式aLi[i].style.left = i * 40 + "px"; //偏移 位置

此时就会出现分页:
在这里插入图片描述
第四步:对分页两个li做点击事件进行分页显示

        aLi[i].onclick = function() {pageIndex = this.index; //获取下标for (var j = 0; j < aLi.length; j++) {aLi[j].style.background = "pink";  //未选中样式}this.style.background = "blue"; //选中样式//3.页面切换for (var j = 0; j < pageLi.length; j++) {pageLi[j].style.display = "none"; //点击第pageIndex页时,让所有页面隐藏}for (var j = (pageIndex * 5); j < (pageIndex + 1) * 5; j++) {//例如pageIndex为0时,则j=0,j<5;就会将1到5的数据显示出来,以此类推)pageLi[j].style.display = "block";}}

看看最终效果为:
在这里插入图片描述
完整代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>使用JavaScript实现列表分页</title>
<style>
* {margin:0;padding:0;
}
img {border:0;
}
ol,ul,li {list-style:none;
}
.example {width:100%;height:500px;position:relative;
}
#list {width:400px;height:200px;margin:10px auto;border:1px solid #ccc;overflow:hidden;
}
#list li {width:100%;height:40px;line-height: 40px;font-weight: bold;text-align: center;border-bottom:1px solid #666;
}
#page {width:400px;height:30px;margin:0 auto;border:1px solid #ccc;padding:5px 0;position:relative;overflow:hidden;
}
</style>
</head>
<body>
<div class="example"><ul id="list"><li>这是list1</li><li>这是list2</li><li>这是list3</li><li>这是list4</li><li>这是list5</li><li>这是list6</li><li>这是list7</li><li>这是list8</li></ul><ul id="page"></ul>
</div><script>
window.onload = function() {var pageList = document.getElementById("list");var pageLi = pageList.getElementsByTagName("li");var pageBtn = document.getElementById("page");var n = 0;//定义分页if (pageLi.length % 5 == 0) {//计算页数n = Math.floor(pageLi.length / 5);//向下取整 1.6 => 1} else {n = Math.ceil(pageLi.length / 5);//向上取整 1.6=>2 }//添加页码for (var i = 1; i <= n; i++) {pageli2 = document.createElement("li");pageli2.style.cssText = "width:30px;height:30px;background:pink;margin:0 5px;display: inline-block;text-align:center;line-height:30px;color:white";pageli2.innerHTML = i;pageBtn.appendChild(pageli2);}var aLi = pageBtn.getElementsByTagName("li");for (var i = 0; i <= n - 1; i++) {aLi[i].index = i;aLi[0].style.background = "pink";aLi[i].style.left = i * 40 + "px";// alert(aLi[i].index)aLi[i].onclick = function() {pageIndex = this.index;for (var j = 0; j < aLi.length; j++) {aLi[j].style.background = "pink";}this.style.background = "blue";//3.页面切换for (var j = 0; j < pageLi.length; j++) {pageLi[j].style.display = "none";}for (var j = (pageIndex * 5); j < (pageIndex + 1) * 5; j++) {pageLi[j].style.display = "block";}}}
}
</script>
</body>
</html>

本教程参与于:JS+CSS实现分页的两个方法

http://www.yayakq.cn/news/302294/

相关文章:

  • 网站运营与公司简介旅游网站建设目标分析
  • 专业律所网站建设小制作小发明大全简单
  • wordpress会员付费插件百度快速排名优化技术
  • 网站开发的ie兼容做到9媒体网站建设
  • 关于服装的网站规划与设计河池市城乡住房建设厅网站
  • 硬件开发岗位要求上海牛巨微seo关键词优化
  • 织梦网站修改数据库表数据购物网站论文
  • 平面设计免费网站微信公众平台小程序入口
  • 长沙网站建设工作室wordpress 美容主题
  • 网站定制开发注意事项asp.net 电商网站开发
  • 做课题查新网站公司招聘信息
  • 网站收录下降原因郑州做网站哪家最好
  • 创建网站首页时通常取文件名为素颜网站建设
  • 网站制作能在家做吗门户类网站备案
  • 商城微网站如何做网站群管理系统哪个好
  • 备案网站域名和主机关系装修工人
  • 旅游电子商务网站模板和业务多一样的平台
  • 营销网站建设内容域名交易网站源代码下载
  • 特产网站开发的好处seo优化多久能上排名
  • 专业电子科技网站建设中国建设官方网
  • 网站平台建设咨询合同程序员培训机构哪家好
  • 营销网站模版外贸网站建设 杭州
  • 浙江小九天建设集团网站小程序定制开发深圳公司
  • htm网站制作一千元左右最好的手机
  • 网站建设公司华网天下买赠两年平面设计师的前景和收入
  • 可以免费制作网页的网站网站开发职业前景
  • 网站设计方案怎么写福州网站建设价格
  • 南昌珠峰网站建设刘淼 网站开发
  • 怎么利用wordpress管理站点网站开发公司长春
  • 微网站开发案例淄博seo怎么选择