美文网首页
楼层效果

楼层效果

作者: 多多VS串串 | 来源:发表于2017-12-20 18:31 被阅读0次
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>楼层切换</title>
        <style>
            * {
                padding: 0;
                margin: 0;
            }
            
            li {
                list-style: none;
            }
            
            .main img {
                width: 850px;
                height: 700px;
                float: left;
            }
            
            .title {
                width: 850px;
                height: 50px;
                text-align: center;
                line-height: 50px;
            }
            
            .floor {
                position: fixed;
                top: 20px;
                right: 20px;
                display: none;
            }
            
            .floor ul li {
                width: 70px;
                height: 30px;
                text-align: center;
                line-height: 30px;
                cursor: hand;
                cursor: pointer
            }
            
            .liStyle {
                background-color: red;
            }
            
            .loading {
                background: url("image/loading.gif") no-repeat center center;
            }
            
            #back {
                cursor: hand;
                cursor: pointer;
            }
        </style>
    </head>

    <body>
        <div class="main" id="main">
            <h3 class="title">图片欣赏</h3>
            <img as="image/1.jpg" />
            <img as="image/2.jpg" />
            <img as="image/3.jpg" />
            <img as="image/4.jpg" />
            <img as="image/5.jpg" />
            <img as="image/6.jpg" />
            <img as="image/7.gif" />
            <img as="image/8.jpg" />
            <img as="image/9.jpg" />
            <img as="image/10.jpg" />
        </div>

        <div class="floor" id="floor">
            <ul id="floorUl">
                <li>第一张</li>
                <li>第二张</li>
                <li>第三张</li>
                <li>第四张</li>
                <li>第五张</li>
                <li>第六张</li>
                <li>第七张</li>
                <li>第八张</li>
                <li>第九张</li>
                <li>第十张</li>
            </ul>
            <p id="back">返回顶部</p>
        </div>
        <script>
            var main = document.getElementById("main");
            var floor = document.getElementById("floor");
            var image = main.getElementsByTagName("img");
            var floorUl = document.getElementById("floorUl");
            var li = floorUl.getElementsByTagName("li");
            var back = document.getElementById("back");
            window.onload = window.onscroll = function() {
                var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
                var height = document.documentElement.clientHeight || document.body.clientHeight;
                for(var i = 0; i < image.length; i++) {
                    image[i].className = "loading";
                    if(delay(image[i]).top < scrollTop + height) {
                        image[i].src = image[i].getAttribute("as");
                    }
                }

                if(scrollTop >= image[0].offsetTop) {
                    floor.style.display = "block";
                } else {
                    floor.style.display = "none";
                }
                var num = 0;

                for(var i = 0; i < image.length; i++) {
                    if(scrollTop >= image[i].offsetTop) {
                        num = i;
                    }
                    li[i].className = "";
                }

                li[num].className = "liStyle";
                for(var i = 0; i < li.length; i++) {
                    li[i].onclick = function() {
                        for(var j = 0; j < li.length; j++) {
                            if(this == li[j]) {
                                document.documentElement.scrollTop = image[j].offsetTop;
                                document.body.scrollTop = image[j].offsetTop;
                            }
                        }
                    }
                }
            }

            var time = null;
            back.onclick = function() {
                function goBack() {
                    var ss = document.documentElement.scrollTop || document.body.scrollTop;
                    ss -= 50;
                    document.documentElement.scrollTop = ss;
                    document.body.scrollTop = ss;
                    if(ss <= 0) {
                        clearInterval(time);
                    }
                }
                time = setInterval(goBack, 1);
            }

            function delay(obj) {
                var l = 0;
                var t = 0;
                while(obj) {
                    l = l + obj.offsetLeft;
                    t = t + obj.offsetTop;
                    obj = obj.offsetParent;
                }
                return {
                    left: l,
                    top: t
                };
            }
        </script>
    </body>

</html>

相关文章

  • 楼层效果

  • 京东楼层效果-jQuery

    蓝色区域属于 1 楼黑色区域属于 7 楼

  • 滚动监听楼层点亮

    需求:楼层点亮,但是不知道楼层高度,也不知道楼层数量。 意思就是要写一个通用方法 首先给个图看效果吧 上代码 va...

  • 网站右侧楼层导航效果折腾小记

    前沿 在项目中遇到楼层导航的需求,于是乎就开始撸代码,需要加一些动画,这时候就需要用到scroll属性,有些忘记了...

  • 楼层

  • 楼层

    早上,太太在刷牙,水槽边的窗户半开半掩,清晨的空气从缝隙中吹过来,清新含着桂香。哦,原来是外面的桂花开了。隔着玻璃...

  • 楼层

    买房的时候也有想过买高层,因为大家都说高层的景观好,空气好,虽然这在看样板间的时候是感觉不到的,但好像那种感觉是很...

  • 酒店楼层装饰品,能带来什么效果?

    酒店人为了打造出一个优雅,愉快的入住环境,在大堂会放一些装饰品来进行美化加工等,小编就对酒店装饰品提出了两种方案,...

  • 灰白楼层

    天空像巨大的石灰抹成,深灰浅灰,让人有一种工业森林的冷清和理智感,还有点发白和乏味。 楼顶有一道白色的条状物,细长...

  • 楼层人生

    1 大笨骨子里有股野劲儿,这股野劲儿从小到大一直伴随着大笨,促成了大笨极度外向的性格。大笨一生下来就是个大胖小子,...

网友评论

      本文标题:楼层效果

      本文链接:https://www.haomeiwen.com/subject/schnwxtx.html