滚轮事件

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>展示</title>
    <script src="js/jquery.js"></script>
    <style>
        * {
            padding: 0;
            margin: 0;
        }
        body {
            width: 100%;
            height: 100%;
        }
        .main {
            height: 100%;
            width: 100%;
            overflow: hidden;
        }
        .main .main-contant {
            position: relative;
        }
        .main .main-contant div {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100%;
            width: 100%;
            color: white;
            text-align: center;
        }
        .main-list-1 {
            background: chocolate;
        }
        .main-list-2 {
            background: goldenrod;
        }
        .main-list-3 {
            background: cadetblue;
        }
        .main-list-4 {
            background: #007aff;
        }
        .main-list-5 {
            background:darkorchid;
        }
    </style>
</head>
<body>
    <!--
        1,元素撑满整个屏幕,并做窗口适配
        2,主体函数编写
        3,mousewheel/DOMMouseScroll事件监听
    -->
    <div class="main">
        <div class="main-contant">
            <div class="main-list-1">
                <h1>第一屏</h1>
            </div>
            <div class="main-list-2">
                <h1>第二屏</h1>
            </div>
            <div class="main-list-3">
                <h1>第三屏</h1>
            </div>
            <div class="main-list-4">
                <h1>第四屏</h1>
            </div>
            <div class="main-list-5">
                <h1>第五屏</h1>
            </div>
        </div>
    </div>
    <script>
        $(function(){
            var mainFunction = {
                valData: function(){
                    var anMain = $('.main'),
                        mainChild = anMain.children('div'),
                        mainChildChild = mainChild[0].children('div'),
                        nub = 5 ,
                        index = 0,
                        falseTrue = true,
                        clientHeight = document.documentElement.clientHeight,
                        clientWidth = document.documentElement.clientWidth;
                    return {
                        anMain : anMain,
                        mainChild : mainChild,
                        mainChildChild : mainChildChild,
                        nub : nub,
                        index : index,
                        falseTrue : falseTrue,
                        clHeight : clientHeight,
                        clWidth : clientWidth
                    }
                },
                fullPage: function (){
                    var daval = mainFunction.valData();
                    daval.mainChild.css({'height': (daval.nub * daval.clHeight), 'width': daval.clWidth});
                    daval.mainChildChild.css({'height': daval.clHeight, 'width': daval.clWidth});
                    daval.anMain.css({'height':daval.clHeight, 'width': daval.clWidth})
                },
                main: function(direction, daval){
                    var index = daval.index+direction,
                        lT = daval.falseTrue;
                    // 判断 index 是否在范围内
                    if(index >= 0 && index < daval.nub ){
                        daval.mainChild.animate({'top': -index * daval.clHeight },100,function(){
                            var cc = true;
                            if (cc == lT){
                                // 重新赋值 deval.index
                                daval.index = index;
                            }
                        });
                    }
                }
            };
            var daval = mainFunction.valData();
            mainFunction.fullPage();
            $(window).on('resize', function(){
                mainFunction.fullPage();
            });
            $('.main-contant').on('document.getBoxObjectFor ? mousewheel : DOMMouseScroll', function(event){
                    var wheelDelta = event.originalEvent.wheelDelta || event.originalEvent.detail,
                        direction = wheelDelta < 0 ? 1 : -1;
                    mainFunction.main(direction, daval);
            });

        });
    </script>
</body>
</html>

转载于:https://my.oschina.net/ZHANSHIMEIYOU/blog/609017

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值