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

60次阅读
没有评论

共计 1992 个字符,预计需要花费 5 分钟才能阅读完成。

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

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

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

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

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

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

HTML 代码:

div header /div

div

div

div >

div >

div >

div >

/div

div i /i i /i i /i i /i /div

a href= javascript:void(0) 下一页 /a

/div

div footer /div

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

script src= http://js.3conline.com/pcbaby/2017/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:

$(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 插件的全屏滚动效果这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计1992字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)