zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    DAPM之三:audio paths与asound.conf
    DAPM之二:audio paths与dapm kcontrol
    DAPM之一:概述
    snd_kcontrol探究
    Linux ALSA声卡驱动之八:ASoC架构中的Platform
    Linux ALSA声卡驱动之七:ASoC架构中的Codec
    吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:Hibernate指定generated属性
    吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:Hibernate映射属性
    吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:Hibernate文件配置
    吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:Hibernate项目创建
  • 原文地址:https://www.cnblogs.com/mianbaodaxia/p/6124627.html
Copyright © 2011-2022 走看看