jQuery怎么实现类似fullpage插件的全屏滚动效果

这篇文章主要讲解了“jQuery怎么实现类似fullpage插件的全屏滚动效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jQuery怎么实现类似fullpage插件的全屏滚动效果”吧!

创新互联公司是一家集网站建设,红河哈尼企业网站建设,红河哈尼品牌网站建设,网站定制,红河哈尼网站建设报价,网络营销,网络优化,红河哈尼网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

结合网上的思路,加上我之前自己做的代码,代码有这几种功能:

1.头部和尾部的内容可以不用滚动,只要中间的滚动就行。

2.支持上一屏和下一屏的动画触发

3.支持下一页和上一页导航跳转

4.支持小导航显示和跳转到某一页

HTML代码:

header

page1

page2

page3

page4

下一页

footer

CSS设置时,需要注意有两个父类元素,最外面的要设置超出高度隐藏。

.doc{height:640px;position:relative;overflow:hidden}

.main{position:relative}

.doc .page{position:absolute;height:100%;width:100%;top:100%}

.doc.done .page{position:static;top:0}

JS代码,要注意滚动的兼容代码用到了jQuery插件jquery-mousewheel,不要漏掉这个插件

JS:

$(function() {

    var onScroll = false,

    curIndex = 0,

    len = $(".doc .page").length;

    var winHeight = $(window).height();

    // var boxHeight = winHeight- 60 >640 ? winHeight - 60 : 640; //当需要显示所有内容,需要给外层一个固定高度,保证所有内容都能看到

    var boxHeight = winHeight - 60;

    var toPage = function(curIndex) {

        onScroll = true;

        var now = -curIndex * boxHeight;

        $(".page").eq(curIndex).addClass("current").siblings(".page").removeClass("current");

        $(".page-nav i").eq(curIndex).addClass("current").siblings("i").removeClass("current");

        $(".main").animate({

            top: now + "px"

        },1000,function() {

            onScroll = false;

        });

    };

    $(".doc").css("height", boxHeight);

    $(".main").css("height", boxHeight * len);

    $(".page").css("height", boxHeight);

    $(".doc").addClass("done");

    var pageNext = function() {

        if (curIndex == len - 1) return;

        curIndex++;

        toPage(curIndex);

    }

    var pagePrev = function() {

        if (curIndex == 0) return;

        curIndex--;

        toPage(curIndex);

    }

    $(".doc").on("mousewheel",function(e, i) {

        if (onScroll) return;

        if (i < -.2) {

            //向下滚动

            pageNext();

        } else {

            //向上滚动

            pagePrev();

        }

    });

    $('.nextPage').on('click',function() {

        if (onScroll) return;

        pageNext();

    });

    $('.page-nav i').on('click',function() {

        if (onScroll) return;

        var index = $(this).index();

        toPage(index);

    })

});

感谢各位的阅读,以上就是“jQuery怎么实现类似fullpage插件的全屏滚动效果”的内容了,经过本文的学习后,相信大家对jQuery怎么实现类似fullpage插件的全屏滚动效果这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


分享标题:jQuery怎么实现类似fullpage插件的全屏滚动效果
链接分享:http://myzitong.com/article/gdsici.html