Skrollr 不允许在移动设备上滚动 Wordpress,解决此问题的最快方法是啥?

Posted

技术标签:

【中文标题】Skrollr 不允许在移动设备上滚动 Wordpress,解决此问题的最快方法是啥?【英文标题】:Skrollr won't allow to scroll on mobile for Wordpress, what is the quickest way to resolve this?Skrollr 不允许在移动设备上滚动 Wordpress,解决此问题的最快方法是什么? 【发布时间】:2021-12-18 00:06:14 【问题描述】:

我对在 Wordpress 上集成 Skrollr 还比较陌生,虽然我一开始很喜欢它,但我怀疑它是否已经过时了。无论如何,我已经查阅了几篇关于此的文章,但到目前为止,我要么做错了,要么由于某种原因它们不起作用。我将在下面详细描述。

首先,我将 Elementor 与源自 Hello Elementor 的子主题一起使用。我有两个带有简单 html 插件的部分,其中我有滚动面板飞入和飞出,这两个部分我只是翻转了面板。在我尝试在现实生活中的手机(不仅仅是一个运行良好的模拟手机)或平板电脑上使用任何东西之前,它都能完美运行。显然,由于我以前从未在现场网站上使用过 Skrollr,因此我没有预料到这种挂断。

我有两种情况,例如这里是一种:

  <div class="panels-container-1a">
    <div
      class="panel1-1a"
      data-anchor-target="#panels-section--trigger-1a"
      data-center-top="opacity: 0; top: 100%;"
      data-400-top="opacity: 1; top[sqrt]: 60%;"
      data-center="top: 50%"
      data--400-bottom="opacity: 1; top[sqrt]: 40%;"
      data-center-bottom="opacity: 0; top: -0%;"
    ></div>
    <div
      class="panel2-1a"
      data-anchor-target="#panels-section--trigger-1a"
      data-center-top="opacity: 0; top: 0%;"
      data-400-top="opacity: 1; top[sqrt]: 40%;"
      data-center="top: 50%"
      data--400-bottom="opacity: 1; top[sqrt]: 60%;"
      data-center-bottom="opacity: 0; top: 100%;"
    >
      <h2>Upcoming Events</h2>
      <p>See the latest action, suspense, and champions live!</p>
      <a class="button-shine--link2" href="#">
        <div class="button-shine--button2">START WATCHING</div>
      </a>
    </div>
  </div>
</section>
<script
  type="text/javascript"
  src="/wp-content/themes/rmpw/js/skrollr.min.js"
></script>
<script type="text/javascript">
  0;
  var s = skrollr.init();
</script>

我尝试通过将上面的 HTML 包装在 body 标记中来创建 id="skrollr-body",并且我还尝试将其添加到父主题的 header.php 中的 &lt;body id="skrollr-body" &lt;?php body_class(); ?&gt;&gt; 到整个网站。一旦我这样做了,它似乎在移动设备上滚动得很好,直到它到达 HTML 部分,然后停止。 (我应该提一下,我也有一个粘性标题,所以我不确定这是否是问题)

我还尝试将以下代码放入主函数底部的实际 skrollr.js 文件中,以便在达到一定宽度后简单地销毁它,然后在之后将其缩小:

var _skrollr = skrollr.get(); // get() returns the skrollr instance or undefined
var windowWidth = $(window).width();

if ( windowWidth <= 767 && _skrollr !== undefined ) 
  _skrollr.destroy();

仍然无济于事。那么我在这里到底做错了什么?任何帮助都将不胜感激,因为我有两个网站目前正在使用它,而且在发布这么晚才尝试重新发明***真的很糟糕。

编辑:我已经尝试更新删除完整的正文 ID 并将 ID 添加到主页的主要部分,但它似乎仍然不起作用。

var x = document.getElementsByClassName('elementor-18')[0];
x.id="skrollr-body"

【问题讨论】:

【参考方案1】:

我只是从一开始就阻止它被调用,它似乎可以解决问题,只需在适当的位置使用静态图像。

if (windowWidth > 767)
    skrollr.init()

【讨论】:

以上是关于Skrollr 不允许在移动设备上滚动 Wordpress,解决此问题的最快方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Material-UI Drawer 在移动设备上不滚动

垂直构建页面的水平滚动行为

jQueryUI 可排序允许滚动并为移动设备添加延迟

无法滚动在移动设备上使用 Xamarin.Forms 创建的 xaml 页面

Skrollr 手机坏了。无法在被动事件侦听器中阻止默认值

CSS android浏览器不允许滚动内容