返回顶部
首页 > 资讯 > 前端开发 > JavaScript >原生JS实现分页点击控件
  • 487
分享到

原生JS实现分页点击控件

2024-04-02 19:04:59 487人浏览 独家记忆
摘要

这是一个面试题,要求使用原生js实现一个分页点击控件,供大家参考,具体内容如下 1、点击首页、上一页、下一页和末页要实现相应的数字编号变红。 2、在页数1 不能够点击首页和上一页。

这是一个面试题,要求使用原生js实现一个分页点击控件,供大家参考,具体内容如下

1、点击首页、上一页、下一页和末页要实现相应的数字编号变红。
2、在页数1 不能够点击首页和上一页。
3、在页数10不能够点击下一页。
4、实现一个input输入页数跳转页码功能。

html


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta Http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Page</title>
    <style>
        *{
            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
        }
    </style>
</head>
<body>
    <header>This is a header</header>
    <section>
        <div id="content">
            <h2>This is a content</h2>
            <div class="content">
                <p>This is some content</p>
                <p id="Word"></p>
            </div>
            <div id="changePage">
                <ul>
                    <li><button id="homePage" disabled="true">首页</button></li>
                    <li><button id="prev" disabled="true">上一页</button></li>
                    <li id="btns">
                        <button class="now">1</button>
                        <button>2</button>
                        <button>3</button>
                        <button>4</button>
                        <button>5</button>
                        <button>6</button>
                        <button>7</button>
                        <button>8</button>
                        <button>9</button>
                        <button>10</button>
                    </li>
                    <li><button id="next">下一页</button></li>
                    <li><button id="lastPage">末页</button></li>
                    <li id ="enter"><input type="number" value="1" min="1" max="10">
                        <button>确定</button>
                        第<span>1</span>页</li>
                </ul>
            </div>
        </div>
    </section>
    <footer>This is a footer</footer>
    <script src="js/page.js"></script>
</body>
</html>

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();

最后实现后如下图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 原生JS实现分页点击控件

本文链接: https://lsjlt.com/news/133168.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 原生JS实现分页点击控件
    这是一个面试题,要求使用原生JS实现一个分页点击控件,供大家参考,具体内容如下 1、点击首页、上一页、下一页和末页要实现相应的数字编号变红。 2、在页数1 不能够点击首页和上一页。 ...
    99+
    2024-04-02
  • 原生JS实现点击数字小游戏
    原生JS实现点击数字小游戏,供大家参考,具体内容如下 最近公司在季度测试中出了一道很有趣的测试题,要求使用我们自己的黑科技–IVX来实现,感兴趣的朋友可以去了解哦,是真的黑科技,在这...
    99+
    2024-04-02
  • 原生JS实现酷炫分页效果
    本文实例为大家分享一个如下效果的JS分页特效,是不是很酷炫。  以下是代码实现: <!DOCTYPE html> <html> <h...
    99+
    2024-04-02
  • 原生js实现上传图片控件
    本文实例为大家分享了js实现上传图片控件的具体代码,供大家参考,具体内容如下 一、修改原生 input 样式 html 结构 <div class="card"> ...
    99+
    2024-04-02
  • 基于原生JS怎么实现分页效果
    这篇文章主要介绍“基于原生JS怎么实现分页效果”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于原生JS怎么实现分页效果”文章能帮助大家解决问题。实现之后的效果首先需要初始化该对象的一些基本属性,显...
    99+
    2023-06-30
  • vue中的@click.native原生点击事件怎么实现
    本文小编为大家详细介绍“vue中的@click.native原生点击事件怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue中的@click.native原生点击事件怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-06-30
  • 原生js实现页面滚动动画
    本文实例为大家分享了js实现页面滚动动画的具体代码,供大家参考,具体内容如下 需求: 1 页面滚动到对应板块,左侧对应的索引高亮2 点击左侧的索引,滚动到对应的板块 代码如下,直接...
    99+
    2024-04-02
  • 原生Js实现日历挂件
    本文实例为大家分享了js实现日历挂件的具体代码,供大家参考,具体内容如下 Css code #date { width: 220px; padding-bottom: ...
    99+
    2024-04-02
  • 原生JS实现文件上传
    本文实例为大家分享了JS实现文件上传的具体代码,供大家参考,具体内容如下 一、目的: 实现上传图片功能 二、效果: 三、思路: 用input标签自带的上传,先隐藏掉,给上传按钮添加...
    99+
    2024-04-02
  • JS调用Android、Ios原生控件
    在上一篇博客(详解JS与APP原生控件交互)中已经和大家聊了,关于JS与Android、Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android、Io...
    99+
    2022-06-06
    IOS js Android
  • 原生JS实现分享侧边栏
    本文分享一个用原生JS实现的分享侧边栏,实现效果如下: 以下是代码实现,方便大家复制粘贴。 <!DOCTYPE html> <html> <h...
    99+
    2024-04-02
  • 基于原生JS实现分页效果的示例代码
    这个只是一个分页的demo,主要是思路整理(很久之前项目用的东西) 分页实现的效果 主要是 左侧上一页 右侧是下一页 中间显示主要是超过5个显示 省略号 然后是可配置选项 实现之后的...
    99+
    2024-04-02
  • Android实现WebView点击拦截跳转原生
    1. 首先设置Web视图 webview.setWebViewClient(new MyWebViewClient()); webview1.setWebViewClient...
    99+
    2022-06-06
    webview Android
  • Android实现触发html页面的Button控件点击事件方式
    在android开发中,往往有时会加载html界面,同时需要与之html里面的控件进行交互。这里简单介绍一下如何在android中触发加载的html界面的Button控件。 1...
    99+
    2022-06-06
    button HTML 事件 Android
  • vue中的@click.native原生点击事件
    目录@click.native原生点击事件给vue组件绑定事件时候等同于在自组件中vue点击事件补充.native步骤官网的解释@click.native原生点击事件 给vue组件绑...
    99+
    2024-04-02
  • 原生Js如何实现日历挂件
    本篇内容主要讲解“原生Js如何实现日历挂件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“原生Js如何实现日历挂件”吧!JS是什么JS是JavaScript的简称,它是一种直译式的脚本语言,其解释...
    99+
    2023-06-14
  • 原生JS实现图片轮播 JS实现小广告插件
    最近想用原生JS多实现一些小功能,现在写到博客里,大家可以借鉴,有问题欢迎指出。 轮播图 需求: 图片循环轮播,可点击左右切换,切换状态与<li>绑定,鼠标移入图片悬停,...
    99+
    2024-04-02
  • JS脚本如何实现网页自动秒杀点击
    这篇文章主要为大家展示了“JS脚本如何实现网页自动秒杀点击”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS脚本如何实现网页自动秒杀点击”这篇文章吧。代码如下:...
    99+
    2024-04-02
  • GridView控件实现分页功能
    GridView控件本身并不直接支持分页功能,但可以通过其他方法来实现分页功能。一种常见的方法是使用Pager控件来实现分页。Pag...
    99+
    2023-09-20
    GridView
  • js+ajax如何实现分页组件
    小编给大家分享一下js+ajax如何实现分页组件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下1.定义分页组件DOM<div id="paginati...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作