原生JS实现分页点击控件
这是一个面试题,要求使用原生JS实现一个分页点击控件,供大家参考,具体内容如下
1、点击首页、上一页、下一页和末页要实现相应的数字编号变红。
2、在页数1 不能够点击首页和上一页。
3、在页数10不能够点击下一页。
4、实现一个input输入页数跳转页码功能。
HTML
Page - 锐客网 *{margin: 0px; list-style-type: none; }header,footer,section{box-sizing: border-box; text-align: center; padding: 5px; }header,footer{background-color: aquamarine; font-size: 25px; }#content{display: flex; flex-direction: column; justify-content: center; align-items: center; flex-wrap: nowrap; height: 500px; background-color: antiquewhite; }.content{border: 1px dotted saddlebrown; min-width: 700px; min-height: 440px; background-color: darkcyan; }#changePage li{display: inline-block; }.now{color:red; }.hide{display: hidden}This is a headerThis is a contentThis is some content
- 第1页
JavaScript
let NUM = 1; //主函数,绑定事件function changepage() {let btns = document.getElementById('changePage'); let element_1 = document.getElementById('btns').children; // console.log(element_1)let homepage = document.getElementById('homePage'); let lastpage = document.getElementById('lastPage'); let prevpage = document.getElementById('prev'); let nextpage = document.getElementById('next'); let enterpage = document.getElementById('enter').children[1]; // console.log(enterpage) //绑定四个按钮homepage.addEventListener('click', () => {homePage(); }); lastpage.addEventListener('click', () => {lastPage(); }); prevpage.addEventListener('click', () => {prevPage(); }); nextpage.addEventListener('click', () => {nextPage(); }); enterpage.addEventListener('click',()=>{enterPage(); })//绑定数字按钮for (let i=0; i<10; i++){element_1[i].addEventListener('click',()=>{document.getElementsByClassName('now')[0].classList.remove('now'); document.getElementById('btns').children[i].classList.add('now'); NUM = i+1; })} //监听父级冒泡函数,控制显示内容区文字及设置按钮状态btns.addEventListener('click', () => {// console.log(NUM) if (NUM === 1) {homepage.disabled = true; prevpage.disabled = true; lastpage.disabled = false; nextpage.disabled = false; }else if (NUM > 1 && NUM < 10 ) {homepage.disabled = false; prevpage.disabled = false; lastpage.disabled = false; nextpage.disabled = false; }else{homepage.disabled = false; prevpage.disabled = false; lastpage.disabled = true; nextpage.disabled = true; }document.getElementById('enter').children[2].innerText = NUM; document.getElementById('word').innerText = 'Now it is the ' + NUM + ' Element'; }); } //具体函数实现function homePage() {document.getElementsByClassName('now')[0].classList.remove('now'); document.getElementById('btns').children[0].classList.add('now'); NUM = 1; } function lastPage() {document.getElementsByClassName('now')[0].classList.remove('now'); document.getElementById('btns').children[9].classList.add('now'); NUM = 10; } function nextPage(){document.getElementsByClassName('now')[0].classList.remove('now'); document.getElementById('btns').children[NUM].classList.add('now'); NUM++; } function prevPage(){document.getElementsByClassName('now')[0].classList.remove('now'); document.getElementById('btns').children[NUM-2].classList.add('now'); NUM--; } //input函数实现function enterPage(){document.getElementsByClassName('now')[0].classList.remove('now'); var page_number = parseInt(document.getElementById('enter').children[0].value); // console.log(page_number); document.getElementById("btns").children[page_number-1].classList.add('now'); NUM=page_number; } window.onload = changepage();
最后实现后如下图

文章图片
【原生JS实现分页点击控件】以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- java中如何实现重建二叉树
- NeuVector 会是下一个爆款云原生安全神器吗()
- 原生家庭之痛与超越
- 人脸识别|【人脸识别系列】| 实现自动化妆