使用JQ实现满屏效果

    <style>

        * {

            padding: 0;

            margin: 0;

        }

        body,

        html {

            overflow: hidden;

        }

        .wrap {

            width: 100%;

            height: 100%;

        }

        .wrap .season {

            /* 此处高度值为用户的宽口高度 */

            height: 910px;

            overflow: hidden;

        }

        .wrap .season p {

            width: 100%;

            height: 100px;

            line-height: 100px;

            text-align: center;

            margin-top: 300px;

        }

    </style>

</head>

<body>

    <!-- 承载所有内容的盒子 -->

    <div class="wrap">

        <div class="season">

            <p>春</p>

        </div>

        <div class="season">

            <p>夏</p>

        </div>

        <div class="season">

            <p>秋</p>

        </div>

        <div class="season">

            <p>冬</p>

        </div>

    </div>

    <!-- 引入js库 -->

    <!-- 此处链接需要根据用户自己下载JS库位置进行更改 -->

    <script src="../../libs/jQuery/jQuerymin.js"></script>

    <script>

        // "lightgreen", "deepskyblue", "gold", "#E4E8F0"

        // 在原型上添加方法

        $.fn.fullPage = function (ig) {

            // 声明一个颜色数组

            var arrColor = ["lightgreen", "deepskyblue", "gold", "#E4E8F0"];

            // 声明变量记录窗口高度

            var win_height = window.innerHeight;

            // 获取类名为 .wrap的标签

            var $wrap = $(".wrap");

            // 定义索引值为 0

            var index = 0;

            // 获取类名为 .season的标签

            var $season = $(".season");

            $season.each(function (index, dom) {

                $(dom).css("backgroundColor", arrColor[index]);

            })

            // 为类名为 .season的标签绑定鼠标滚轮事件

            $season.on("mousewheel", function (e) {

                // console.log(e);   // 检查事件对象下有哪些属性更鼠标滚动有关

                // 判断当前事件对象上的 wheelDelta 属性的正负性

                if (e.originalEvent.wheelDelta < 0) {

                    // 若为负数,则用户正向下滚动

                    // 索引值加一

                    index++;

                    // 控制索引值的范围

                    // 若当前索引值比颜色数组的最大长度还大,则设置为颜色数组的最大长度减一,反之设置为当前索引值

                    index = index > (arrColor.length - 1) ? (arrColor.length - 1) : index;

                } else {

                    // 若为正数,则用户正向上滚动

                    // 索引值减一

                    index--;

                    // 控制索引值的范围

                    // 若当前索引值比0小,则设置为0,反之设置为当前索引值

                    index = index < 0 ? 0 : index;

                }

                // 为类名为 wrap的标签绑定页面滚动事件

                $wrap.stop().animate({

                    // 设置其marginTop属性

                    marginTop: -(index * win_height),

                }, 300, function () {

                    ig.setupstyle(index);

                });

            })

            return false;

        }

        // 在类名为 wrap的标签上调用 fullPage方法

        $(".wrap").fullPage({

            setupstyle: function (index) {

                // 将每个季节名称字体扩大

                $(".season").eq(index).find("p").animate({ fontSize: "60px" });

                // 将其兄弟元素的字体变为原字体大小

                $(".season").eq(index).siblings().find("p").css({ fontSize: "20px" })

            }

        });

    </script>

    <!-- 总结:

            主要利用已封装完成的JS库中的 mousewheel 和 事件对象中的 wheelDelta属性实现满屏效果,各位也可以根据自己项目需求进行内容及功能的添加,修改。

            博主刚接触JQ,如有写的不好之处,希望您能不吝赐教,给我一些关于这个项目的意见和建议。

            各位的宝贵意见将对我产生深远的影响,我将认真倾听并尽力改进。谢谢各位~~

         -->

</body>

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
下面是一个使用jQuery实现的网页全屏翻页特效的示例代码: HTML代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>网页全屏翻页特效</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="page page1"> <h1>第一页</h1> <p>这是第一页的内容。</p> </div> <div class="page page2"> <h1>第二页</h1> <p>这是第二页的内容。</p> </div> <div class="page page3"> <h1>第三页</h1> <p>这是第三页的内容。</p> </div> <div class="page page4"> <h1>第四页</h1> <p>这是第四页的内容。</p> </div> <div class="page page5"> <h1>第五页</h1> <p>这是第五页的内容。</p> </div> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="script.js"></script> </body> </html> ``` CSS代码: ```css html, body { margin: 0; padding: 0; height: 100%; overflow: hidden; } .page { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; } .page h1 { font-size: 3rem; margin-bottom: 1rem; } ``` JavaScript代码: ```javascript $(document).ready(function() { // 初始化 var current = 1; $('.page').eq(current - 1).addClass('current'); // 监听鼠标滚轮事件 $(document).on('mousewheel DOMMouseScroll', function(event) { event.preventDefault(); if (event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0) { // 向上滚动 if (current > 1) { current--; $('.page').removeClass('current'); $('.page').eq(current - 1).addClass('current'); } } else { // 向下滚动 if (current < $('.page').length) { current++; $('.page').removeClass('current'); $('.page').eq(current - 1).addClass('current'); } } }); }); ``` 这个示例中,我们使用jQuery来监听鼠标滚轮事件,实现了网页全屏翻页的特效。具体实现方式如下: 1. HTML中创建了多个页面,并使用CSS将它们定位到屏幕的左上角。 2. 初始化当前页面为第一页,将其添加一个特殊的class名为"current"。 3. 监听鼠标滚轮事件,并根据滚轮方向决定向上还是向下翻页。如果可以翻页,则将当前页面的"current" class移除,将下一个页面的"current" class添加上去,同时更新当前页面的页码。 4. 通过CSS样式,在每个页面上居中显示标题和内容。 这是一个简单的示例,你可以根据需要进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值