全屏滚动

< !DOCTYPE html > <html > <head lang = "en" > <meta charset = "UTF-8" > <title > </title>
    <style>
        *{
            margin:0;
            padding:0;
            border:0;
        }
        body{
            overflow:hidden;
        }
        #wrap{
            width:100%;
            overflow: hidden;
        }
        #main{
            position:relative;
            width:100%;
        }
        #page01{
            background-color:red;
        }
        #page02{
            background-color:blue;
        }
        #page03{
            background-color:green;
        }
        #page04{
            background-color:pink;
        }
    </style > <script src = "js/jquery.js" > </script>
    <script src="js/jqueryWheel.js "></script>
</head>
<body>
    <div id="wrap ">
        <div id="main ">
            <div id="page01 " class="page "><h1>第一屏</h1></div>
            <div id="page02 " class="page "><h1>第二屏</h1></div>
            <div id="page03 " class="page "><h1>第三屏</h1></div>
            <div id="page04 " class="page "><h1>第四屏</h1></div>
        </div>
    </div>
</body>
<script>
    $(function(){
        var screenWidth = $(window).width();
        var screenHeight = $(window).height();
        $("#wrap ").css("height ",screenHeight);
        $(".page ").css("width ",screenWidth);
        $(".page ").css("height ",screenHeight);
        var startTime = 0;
        //为滚轮添加滚动事件,如果滚轮滚动时,此时的scrollTop值大于初始时的scrollTop的值,则代表向下滚动,反之,向上滚动
        $(window).mousewheel(function(event,delta){
            var endTime = new Date().getTime();
            console.log("endTime: " , endTime) ;
            if(endTime - startTime > 1000) {
                startTime = endTime ;
                console.log("startTime: " , startTime );
                if(delta == -1) {  //如果是向下滚动,
                    var currentBodyTopPx = $("#main ").css("top ");
                    currentBodyTopValue = currentBodyTopPx.substring(0,currentBodyTopPx.lastIndexOf("p "));
                    if( parseInt(currentBodyTopValue) + ($(".page ").length - 1) * screenHeight == 0 ) {  //如果到达了最后一屏,则停止向下滚动页面
                        return ;
                    } else {
                    }
                    console.log("向下滚动了");
                    //如果是向下滚动,将body的top属相减少pageHeight个px
                    console.log("滚动之前currentBodyTop: " , currentBodyTopValue);
                    $("#main ").animate({top:(currentBodyTopValue - screenHeight) + "px "},1000);
                    console.log("滚动之后currentBodyTop: " , (currentBodyTopValue - screenHeight) + "px ");
                } else {
                    var currentBodyTopPx = $("#main ").css("top ");
                    currentBodyTopValue = currentBodyTopPx.substring(0,currentBodyTopPx.lastIndexOf("p "));
                    if( parseInt(currentBodyTopValue) == 0 ) {  //如果到达了最后一屏,则停止向下滚动页面
                        return ;
                    } else {
                    }
                    //如果是向下滚动,将body的top属相减少pageHeight个px
                    console.log("滚动之前currentBodyTop: " , currentBodyTopValue);
                    $("#main ").animate({"top " : (parseInt(currentBodyTopValue) + screenHeight) + "px "},1000);
                    console.log("滚动之后currentBodyTop: " , (parseInt(currentBodyTopValue) + screenHeight) + "px ");
                }
            }
        });
    });
</script>
</html>"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值