起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > Web前端 > jQuery实现类似fullpage插件的全屏滚动效果

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

时间:2021-07-11 09:03:23来源:Web前端开发网 作者:Web教程网 已有: 名学员访问该课程

  快捷搜索:

前言: 很久没用fullpage插件来实现全屏效果的滚动了,我自己整理了一个比较简单的PC版全屏滚动代码,之前在做专题的时候

 

很久没用fullpage插件来实现全屏效果的滚动了,我自己整理了一个比较简单的PC版全屏滚动代码,之前在做专题的时候自己还写了一个很复杂的代码,还洋洋得意,后来看网上的一个写法,发现自己写的复杂了,我之前的版本是通过控制上一屏和下一屏的同时改变样式。

但其实这种滚动效果给父类元素就好了,这样子就只需要控制父类元素向上或者向下就行。不用去纠结上一屏和下一屏。·

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

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

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

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

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

HTML代码:

<div class="header">header</div>

<div class="doc">

<div class="main">

<div class="page page1">page1</div>

<div class="page page2">page2</div>

<div class="page page3">page3</div>

<div class="page page4">page4</div>

</div>

<div class="page-nav"><i class="current"></i><i></i><i></i><i></i></div>

<a href="javascript:void(0)" class="nextPage">下一页</a>

</div>

<div class="footer">footer</div>

<script src="http://js.3conline.com/min/temp/v1/lib-jquery1.10.2.js"></script>

<script src="http://js.3conline.com/pcbaby/2021/nianping/pc/jquery-mousewheel.js"></script>

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:

//code from http://caibaojian.com/fullpage.html

$(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);

})

});

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容

Web教程网是一个专注于技术资讯的综合性门户网站。是Web爱好者学习交流的网站,这里提供大量实用的技术文档及相关资源下载,是网页设计、网络编程人员及其爱好者必备网站。

文章出自:http://qh.itpxw.cn/peixun/web/202185798.html

文章标题:jQuery实现类似fullpage插件的全屏滚动效果



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

(责任编辑:深圳学历教育网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
培训学校
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:IT培训网 联 系 人:罗老师 联系电话:13783581536 联系手机:13783581536 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件: 网站域名:http://www.itpxw.cn 注册时间:2016-07-18 11:07 最后登录:2024-02-20 13:02