Fullpage.js 和移动设备:如果必须启用内容溢出,如何启用部分/滑动切换?

Fullpage.js and mobile devices: How to enable section / slide switch if content overflow must be enabled?

尝试了一些选项后,我仍然没有得到满意的结果:

使用的Javascript库是FullpageJS(http://alvarotrigo.com/fullPage/)

Fullpage.js 使用以下设置初始化:

$('#fullpage').fullpage({
   sectionsColor: colors,
   anchors: anchors,
   scrollOverflow: true,
   afterSlideLoad: function() {
      startTheSliders();
   },
   onLeave: function(index) {
        setTimeout(function() {
            $.fn.fullpage.scrollSlider(index,0);
        },1000);
   }
});

重要提示:根据文档 scrollOverflow:true 已设置(并且必须设置为 true),因为特别是在移动设备上,幻灯片的内容有时会高于屏幕高度。

但是绝对要求用户可以用手指在幻灯片之间水平和垂直切换(不是导航)。预期行为如下:

  1. 手指向左或向右移动时水平开关切换滑动

  2. 垂直切换幻灯片:仅当幻灯片滚动到底部且手指向下移动时,才会下一个底部幻灯片。下一张顶部幻灯片:仅当幻灯片滚动到顶部并且手指向上移动时。

(以前的)开发项目可以在这里找到:http://www.studiodankl.com/

我不建议您在移动设备上使用 scrollOverflow

如果您想要一个真正的响应式网站,您应该使内容适应设备,而不是使用 "hacky" 滚动条来适应内容。

您可以在您的内容将在移动设备上溢出的部分使用 class fp-auto-height。您应该仅在您的网站响应时添加它,即在特定的宽度或高度限制下。

这样,这些部分将能够比设备视口更大。

将其与 fullpage.js 的 responsiveHeightresponsiveWidtdh 选项(设置 autoScrolling:false)相结合,您将能够在小屏幕设备上拥有一个响应迅速的网站.

例如,您可以使用小视口查看 this site using fullpage.js。它没有使用 fp-auto-height 选项,但结果完全相同。

在这种情况下,我们使用的网站:

/*screen resolutions smaller than 950px height*/
@media (max-width: 950px){
    #section3.fp-section,
    #section3 .fp-tableCell{
        height: auto !important;
        min-height: 100%;
    }
}

这与 fullpage.js 用于 fp-auto-heigh 的内容非常相似:

.fp-auto-height.fp-section,
.fp-auto-height .fp-slide,
.fp-auto-height .fp-tableCell{
    height: auto !important;
}

更新

fullpage.js 现在出于同样的目的提供 class fp-auto-height-responsive。 更多 in the docs.

这个问题实际上与 fullpage.js 本身无关 - 它实际上是一个 无效的插件修改 .

然而,正如其他一些人遇到此问题一样:检查任何其他 HTML、CSS 和 ,尤其是 JavaScript,因为这很可能造成问题。