最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

原生JS實現(xiàn)分頁點擊控件

 更新時間:2021年08月20日 13:18:41   作者:吸貓一時爽  
這篇文章主要為大家詳細(xì)介紹了原生JS實現(xiàn)分頁點擊控件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

這是一個面試題,要求使用原生JS實現(xiàn)一個分頁點擊控件,供大家參考,具體內(nèi)容如下

1、點擊首頁、上一頁、下一頁和末頁要實現(xiàn)相應(yīng)的數(shù)字編號變紅。
2、在頁數(shù)1 不能夠點擊首頁和上一頁。
3、在頁數(shù)10不能夠點擊下一頁。
4、實現(xiàn)一個input輸入頁數(shù)跳轉(zhuǎn)頁碼功能。

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;
 
//主函數(shù),綁定事件
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();
    })
    //綁定數(shù)字按鈕
    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;
        })
    }
 
    //監(jiān)聽父級冒泡函數(shù),控制顯示內(nèi)容區(qū)文字及設(shè)置按鈕狀態(tài)
    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';
    });
}
 
//具體函數(shù)實現(xiàn)
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函數(shù)實現(xiàn)
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();

最后實現(xiàn)后如下圖

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 微信小程序獲取用戶頭像昵稱組件封裝實例(最新版)

    微信小程序獲取用戶頭像昵稱組件封裝實例(最新版)

    我們在進行小程序開發(fā)的時候,往往需要獲取微信用戶的部分個人信息,常見的有用戶頭像,昵稱等,下面這篇文章主要給大家介紹了關(guān)于微信小程序獲取用戶頭像昵稱組件封裝的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • 微信小程序?qū)崿F(xiàn)多列選擇器

    微信小程序?qū)崿F(xiàn)多列選擇器

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)多列選擇器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JS作用域閉包、預(yù)解釋和this關(guān)鍵字綜合實例解析

    JS作用域閉包、預(yù)解釋和this關(guān)鍵字綜合實例解析

    這篇文章主要介紹了JS作用域閉包、預(yù)解釋和this關(guān)鍵字,結(jié)合實例形式分析了javascript作用域閉包、預(yù)解釋和this關(guān)鍵字在具體使用過程中的操作技巧與注意事項,需要的朋友可以參考下
    2016-12-12
  • 微信小程序開發(fā)中所碰到問題集錦

    微信小程序開發(fā)中所碰到問題集錦

    這篇文章主要介紹了微信小程序開發(fā)中所碰到問題集錦,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-01-01
  • 瀏覽器檢測JS代碼(兼容目前各大主流瀏覽器)

    瀏覽器檢測JS代碼(兼容目前各大主流瀏覽器)

    這篇文章主要介紹了瀏覽器檢測JS代碼,兼容目前各大主流瀏覽器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-02-02
  • TS中type和interface的區(qū)別解析

    TS中type和interface的區(qū)別解析

    對于type來說,更多的是對類型的一種復(fù)用,比如在項目中需要用到一些比較復(fù)雜的或者書寫起來很長的類型,而對于 interface來說,它是正兒八經(jīng)的用來定義接口類型(約束數(shù)類型和屬性)的,且接口類型是支持繼承和聲明合并的,感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • 200行代碼實現(xiàn)blockchain 區(qū)塊鏈實例詳解

    200行代碼實現(xiàn)blockchain 區(qū)塊鏈實例詳解

    這篇文章主要介紹了200行代碼實現(xiàn)blockchain 區(qū)塊鏈的相關(guān)知識,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-03-03
  • 關(guān)于iframe跨域POST提交的方法示例

    關(guān)于iframe跨域POST提交的方法示例

    這篇文章主要給大家介紹了關(guān)于iframe跨域POST提交的相關(guān)資料,文中給出了詳細(xì)的介紹與示例代碼,相信對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以一起來學(xué)習(xí)學(xué)習(xí)。
    2017-01-01
  • 純JS實現(xiàn)簡單的日歷

    純JS實現(xiàn)簡單的日歷

    這篇文章主要為大家詳細(xì)介紹了純JS實現(xiàn)簡單日歷的的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • JavaScript中split() 使用方法匯總

    JavaScript中split() 使用方法匯總

    本文向大家重點講解一下Javascript中split函數(shù)使用,它可以將一個字符串分割為子字符串,然后將結(jié)果作為字符串?dāng)?shù)組返回,相信本文介紹你對split函數(shù)的用法有明確的認(rèn)識。
    2015-04-04

最新評論

兴义市| 自治县| 怀仁县| 伊春市| 普宁市| 托克托县| 墨竹工卡县| 涿鹿县| 丽水市| 黔西县| 左云县| 常宁市| 饶平县| 长葛市| 古丈县| 水富县| 新沂市| 临邑县| 加查县| 噶尔县| 安顺市| 泾川县| 镇原县| 桦南县| 巩义市| 南平市| 陆川县| 增城市| 泰和县| 巴林右旗| 永宁县| 德阳市| 广水市| 方城县| 东阿县| 富宁县| 东乡县| 岢岚县| 巢湖市| 曲周县| 板桥市|