fullpage 单屏高度超过屏幕高度,实现单屏内可以滚动并解决手机端单屏高度不正确的问题...

最近接触了好几次jquery.fullpage.js这个插件,实现整屏的滑动,效果很炫,用fullpage来实现也很简单,但是也碰到了一些问题和大家分享一下

1.单屏高度超过屏幕高度,实现单屏的滑动

现在客户用一个需求是这样的

                                图一                                                                                  图2                                                                               图3

图一是第一屏,图二是第二屏的上半部分,图三是第二屏的下半部分

第一屏到第二屏需要fullpage滑动的整屏效果,但是第二屏太长,需要普通的滑动效果

解决办法:在fullpage之前引入iScroll.js,设置fullpage的属性scrollOverflow:true

$(function(){
        $('#fullpage').fullpage({
            scrollOverflow: true
        });
    });

只要超出屏幕高度就会出现滚动条,就可以滚动了,滚动条比较丑

去掉滚动条的解决办法:

$('#fullpage').fullpage({
            scrollOverflow: true,
            scrollOverflowOptions: {
                scrollY: false
            }
        });

在fullpage的配置中加上

scrollOverflowOptions: {
  scrollY: false
}

注意:如果有同学发现scrollOverflow: true,能正确显示,但是有滚动条,但是加了scrollOverflowOptions: {scrollY: false}滚动条不见了,但是无法正确显示,如果出现这个问题,请大家去掉scrollOverflowOptions: {scrollY: false}并把iScroll.js的1012,1013行注释掉,就可以正确实现

这里附上最简单的示例代码

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width">
    <script src="./build/jquery.min.js"></script>
    <script src="./build/scrolloverflow.min.js"></script>
    <script src="./build/jquery.fullpage.js"></script>
    <title>Document</title>
</head>
<body >
    <div id="fullpage">
        <div class="section">第一屏</div>
        <div class="section">第二屏</div>
        <div class="section">aaa</div>
        <div class="section test">
            <div style="background-color:#ccc;height:400px">ssss</div>
            <div style="background-color:#eee;height:400px">ssss</div>
            <div style="background-color:#bbb;height:400px">ssss</div>
            <div style="background-color:#aaa;height:400px">ssss</div>
        </div>
    </div>
<script>
    $(function(){
        $('#fullpage').fullpage({
            css3: true,
            scrollOverflow: true,
            scrollOverflowOptions: {
                scrollY: false
            }
        });
    });
</script>
</body>
</html>

 

  

 

2.手机端获取屏幕高度不正确

如上图所示,我手机的高度为337,但是代码中一屏的高度确为1743,在某种情况下会影响我们的页面布局

解决办法为:<meta name="viewport" content="width=device-width">

 

注意:我的fullpage.js的版本是2.8.1,iScroll.js的版本是5.2.0,我了解过有些低版本和我这样写是有问题的

 

最后

 iScroll.js下载及说明地址:https://github.com/cubiq/iscroll

 fullpage.js下载及说明地址:https://github.com/lihjian/jQueryfullPage.js

转载于:https://www.cnblogs.com/mianbaodaxia/p/6124627.html

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值