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

JavaScript實(shí)現(xiàn)樓層效果

 更新時(shí)間:2021年11月07日 13:40:44   作者:小白小白從不日白  
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)樓層效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)樓層效果的具體代碼,供大家參考,具體內(nèi)容如下

* {
            margin: 0;
            padding: 0;
        }
        
        html,
        body {
            width: 100%;
            height: 100%;
        }
        
        ul {
            width: 100%;
            height: 100%;
        }
        
        ul>li {
            list-style: none;
            width: 100%;
            height: 100%;
            font-size: 100px;
            text-align: center;
        }
        
        ol {
            position: fixed;
            left: 10px;
            top: 50%;
            transform: translateY(-50%);
        }
        
        ol>li {
            list-style: none;
            width: 100px;
            line-height: 40px;
            text-align: center;
            border: 1px solid #000;
        }
        
        .selected {
            background: skyblue;
        }
 <ul>
        <li>我是第1層</li>
        <li>我是第2層</li>
        <li>我是第3層</li>
        <li>我是第4層</li>
        <li>我是第5層</li>
    </ul>
 
    <ol>
        <li class="selected">第1層</li>
        <li>第2層</li>
        <li>第3層</li>
        <li>第4層</li>
        <li>第5層</li>
</ol>

js:

// 1.初始化樓層的顏色
let oPages = document.querySelectorAll("ul>li");
let colorArr = ['green', 'blue', 'purple', 'red', 'yellow'];
        for (let i = 0; i < oPages.length; i++) {
            let page = oPages[i];
            page.style.background = colorArr[i];
        }
 
        // 2.實(shí)現(xiàn)點(diǎn)擊誰(shuí)就選中誰(shuí)
        let oItems = document.querySelectorAll("ol>li");
        let currentItem = oItems[0];
 
        // 獲取可視區(qū)域的高度
        let screenHeight = getScreen().height;
 
        let timerId = null;
        for (let i = 0; i < oItems.length; i++) {
            let item = oItems[i];
            item.onclick = function() {
                currentItem.className = "";
                this.className = "selected";
                currentItem = this;
                // 實(shí)現(xiàn)滾動(dòng)
                // window.scrollTo(0, i * screenHeight);
                // 注意點(diǎn): 通過documentElement.scrollTop來實(shí)現(xiàn)網(wǎng)頁(yè)滾動(dòng), 在設(shè)置值的時(shí)候不能添加單位
                // document.documentElement.scrollTop = i * screenHeight + "px";
                // document.documentElement.scrollTop = i * screenHeight;
                clearInterval(timerId);
                timerId = setInterval(function() {
                    let begin = document.documentElement.scrollTop;
                    let target = i * screenHeight;
                    let step = (target - begin) * 0.2;
                    begin += step;
                    if (Math.abs(Math.floor(step)) <= 1) {
                        clearInterval(timerId);
                        document.documentElement.scrollTop = i * screenHeight;
                        return;
                    }
                    document.documentElement.scrollTop = begin;
                }, 50);
            }
        }
 
        //獲取瀏覽器視口寬高
        function getScreen() {
            let width, height;
            if (window.innerWidth) {
                width = window.innerWidth;
                height = window.innerHeight;
            } else if (document.compatMode === "BackCompat") {
                width = document.body.clientWidth;
                height = document.body.clientHeight;
            } else {
                width = document.documentElement.clientWidth;
                height = document.documentElement.clientHeight;
            }
            return {
                width: width,
                height: height
            }
        }

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

相關(guān)文章

  • JS實(shí)現(xiàn)點(diǎn)擊上移下移LI行數(shù)據(jù)的方法

    JS實(shí)現(xiàn)點(diǎn)擊上移下移LI行數(shù)據(jù)的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)點(diǎn)擊上移下移LI行數(shù)據(jù)的方法,涉及javascript針對(duì)LI列表動(dòng)態(tài)排序的相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • JS實(shí)現(xiàn)旋轉(zhuǎn)木馬式圖片輪播效果

    JS實(shí)現(xiàn)旋轉(zhuǎn)木馬式圖片輪播效果

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)旋轉(zhuǎn)木馬式圖片輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • JS新包管理工具yarn和npm的對(duì)比與使用入門

    JS新包管理工具yarn和npm的對(duì)比與使用入門

    在2016年10月11日facebook 公開了新的javascript包管理工具 yarn, 用來替代目前被廣泛使用的npm(nodejs 自帶的包管理工具),本文將介紹yarn工具帶來的優(yōu)點(diǎn)和使用入門,以及對(duì)比npm解決了什么問題,帶來哪些便利。有需要的朋友們下面來一起看看吧。
    2016-12-12
  • Next.js入門使用教程

    Next.js入門使用教程

    Next.js 是一個(gè)輕量級(jí)的 React 服務(wù)端渲染應(yīng)用框架。文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • 微信js-sdk地理位置接口用法示例

    微信js-sdk地理位置接口用法示例

    這篇文章主要介紹了微信js-sdk地理位置接口用法,結(jié)合實(shí)例形式分析了js-sdk地理位置接口的定義與簡(jiǎn)單使用方法,需要的朋友可以參考下
    2016-10-10
  • JavaScript中reduce()的5個(gè)基本用法示例

    JavaScript中reduce()的5個(gè)基本用法示例

    這篇文章主要給大家介紹了關(guān)于JavaScript中reduce()的5個(gè)基本用法示例,文中通過示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • js控制輸入框獲得和失去焦點(diǎn)時(shí)狀態(tài)顯示的方法

    js控制輸入框獲得和失去焦點(diǎn)時(shí)狀態(tài)顯示的方法

    這篇文章主要介紹了js控制輸入框獲得和失去焦點(diǎn)時(shí)狀態(tài)顯示的方法,可實(shí)現(xiàn)判斷輸入框的焦點(diǎn)狀態(tài)設(shè)置不同樣式的功能,是非常實(shí)用的技巧,需要的朋友可以參考下
    2015-01-01
  • JavaScript實(shí)現(xiàn)淘寶網(wǎng)圖片的局部放大功能

    JavaScript實(shí)現(xiàn)淘寶網(wǎng)圖片的局部放大功能

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)淘寶網(wǎng)圖片的局部放大功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 基于JavaScript實(shí)現(xiàn)div層跟隨滾動(dòng)條滑動(dòng)

    基于JavaScript實(shí)現(xiàn)div層跟隨滾動(dòng)條滑動(dòng)

    項(xiàng)目需求是這樣的:在一個(gè)頁(yè)面放2個(gè)懸浮框,懸浮框隨頁(yè)面的上下滾動(dòng)有上下波動(dòng)的效果,最終固定在同一位置,下面通過本文給大家分享基于JavaScript實(shí)現(xiàn)div層跟隨滾動(dòng)條滑動(dòng)的相關(guān)資料,對(duì)js div跟隨滾動(dòng)條滑動(dòng)相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • js 日期轉(zhuǎn)換成中文格式的函數(shù)

    js 日期轉(zhuǎn)換成中文格式的函數(shù)

    最近的項(xiàng)目需要將日期轉(zhuǎn)換成中文的格式,于是寫了個(gè)小小的JS函數(shù),使用時(shí)直接調(diào)用即可.
    2009-07-07

最新評(píng)論

堆龙德庆县| 岳普湖县| 临颍县| 遂昌县| 济宁市| 吉林市| 南汇区| 个旧市| 阜平县| 渑池县| 青川县| 区。| 阜平县| 民和| 故城县| 集贤县| 高州市| 太仆寺旗| 瓮安县| 景宁| 林西县| 长武县| 新建县| 交城县| 亳州市| 哈密市| 荥阳市| 平昌县| 牙克石市| 商南县| 青阳县| 宜州市| 贵德县| 富锦市| 开封县| 金昌市| 敦化市| 郑州市| 珠海市| 安岳县| 清新县|