您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

JavaScript实现楼层效果

51自学网 2022-02-21 13:38:14
  javascript

本文实例为大家分享了JavaScript实现楼层效果的具体代码,供大家参考,具体内容如下

* {            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.实现点击谁就选中谁        let oItems = document.querySelectorAll("ol>li");        let currentItem = oItems[0];         // 获取可视区域的高度        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;                // 实现滚动                // window.scrollTo(0, i * screenHeight);                // 注意点: 通过documentElement.scrollTop来实现网页滚动, 在设置值的时候不能添加单位                // 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            }        }

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


下载地址:
JavaScript实现弹性导航效果
JavaScript实现返回顶部按钮案例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。