文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何使用jquery库实现电梯导航效果

2023-06-29 06:55

关注

这篇文章主要介绍如何使用jquery库实现电梯导航效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

基本思路

电梯导航基本上就是使用元素距离页面头部的高度offsetTop和页面滚动的距离scrollTop来进行比较事项相应的效果。

页面滚动到相应的位置,实现电梯导航的显示与隐藏
2、页面滚动到相应的位置,电梯导航的按钮添加或者移出相应的类
3、点击电梯导航按钮,实现页面的滚动和为按钮添加或者移出相应的类
4、点击顶部按钮,返回顶部

代码实现

html代码

<div class="header">头部</div><div class="banner">焦点图</div>    <div class="content">        <div class="qinzi w">亲子</div>        <div class="liren w">丽人</div>        <div class="xuexi w">学习</div>        <div class="lvyou w">旅游</div>        <div class="zhusu w">住宿</div>        <div class="meishi w">美食</div>    </div>    <div class="footer">尾部</div>    <!-- 电梯导航 -->    <div class="floor" >        <ul>            <li>亲子</li>            <li>丽人</li>            <li>学习</li>            <li>旅游</li>            <li>住宿</li>            <li>美食</li>        </ul>        <span>顶部</span></div>

css代码

 *{            padding: 0;            margin: 0;        }        body {            font-size: 30px;        }        .header {            width: 1100px;            height: 200px;            background-color: pink;            margin: 0 auto;        }        .banner {            width: 1100px;            height: 400px;            background-color: skyblue;            margin: 0 auto;        }        .footer {            width: 1100px;            height: 300px;            background-color: darkolivegreen;            margin: 0 auto;        }        .content {            width: 1100px;            margin: 0 auto;        }        .content .qinzi {            width: 100%;            height: 324px;            background-color: rosybrown;        }        .content .liren {            width: 100%;            height: 304px;            background-color: slategrey;        }        .content .xuexi {            width: 100%;            height: 300px;            background-color: khaki;        }        .content .lvyou {            width: 100%;            height: 300px;            background-color: greenyellow;        }        .content .zhusu {            width: 100%;            height: 300px;            background-color: darkcyan;        }        .content .meishi {            width: 100%;            height: 300px;            background-color: lightgreen;        }        .floor {            width: 50px;            position: fixed;            top: 150px;            left: 50%;            margin-left: -620px;            font-size: 16px;            text-align: center;        }        .floor li {            width: 50px;            height: 30px;            background-color: grey;            margin-bottom: 5px;            line-height: 30px;            list-style: none;            cursor: pointer;        }        span {            display: block;            width: 50px;            height: 30px;            background-color: grey;            margin-bottom: 5px;            line-height: 30px;            list-style: none;            cursor: pointer;        }        .floor .current {            background-color: hotpink;        }

JavaScript代码

var flag = true;  //使用节流阀        //页面刚开始隐藏,当页面滚动到content的时候,电梯导航显示        $(function () {            //页面刷新时调用一次            //封装函数,切换显示与隐藏            var contentTop = $(".content").offset().top;            toggleTool();            function toggleTool() {                if ($(document).scrollTop() >= contentTop) {                    $(".floor").fadeIn();                } else {                    $(".floor").fadeOut();                }            }            $(window).scroll(function () {                toggleTool()                //页面滚动到相应位置,电梯导航按钮添加current类                if (flag) {                    $('.content .w').each(function (i, ele) {                        var cuHeight = ele.offsetHeight / 2;                        if ($(document).scrollTop() >= $(ele).offset().top - cuHeight) {                            $('.floor li').eq(i).addClass('current').siblings().removeClass();                        }                    })                }            })            //点击电梯导航按钮,页面跳转到相应位置,使用jquery里面的animate            $('.floor li ').click(function () {                flag = false;                $(this).addClass('current').siblings().removeClass();                var index = $(this).index();                var current = $('.content .w').eq(index).offset().top;                $('html,body').stop().animate({                    scrollTop: current                }, function () {                    flag = true;                })            })            $('.floor span').click(function () {                $(this).addClass('current');                $('html,body').stop().animate({                    scrollTop: 0                })      })})

以上是“如何使用jquery库实现电梯导航效果”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯