【问题标题】:Disabling a jQuery script in HTML for a specific window width针对特定窗口宽度禁用 HTML 中的 jQuery 脚本
【发布时间】:2017-05-09 22:02:41
【问题描述】:

我知道这可能是一个非常基本的问题,但我在 fullPage.js 脚本 (https://github.com/alvarotrigo/fullPage.js) 的帮助下构建了一个网站,但对 jQuery/Javascript 了解甚少。

我想要做的是禁用窗口宽度为 800 像素及以下的脚本,但将其启用为更高。或者,我想在脚本中以相同的条件将某个变量设置为 false。

这就是脚本的样子(我删除了一些设置以使其更短):

<script>
    $(document).ready(function() {
            $('#fullpage').fullpage({
                responsiveWidth: 800,
                continuousVertical: true
            });
        });
</script>

这是我试图让它简单地工作,但它似乎不起作用:

<script type="text/javascript">
if ( $(window).width() > 800) {
   $(document).ready(function() {
            $('#fullpage').fullpage({
                responsiveWidth: 800,
                continuousVertical: true
            });
        });
}
</script>

【问题讨论】:

  • 您可能希望在$(document).ready 函数中使用if ($(window).width()..。甚至可能在 $(window).resize(function () { }); 事件处理程序中。
  • 你链接到 jquery 库了吗?

标签: javascript jquery html fullpage.js responsiveness


【解决方案1】:

使用 fullPage.js 响应选项,例如 responsiveWidthresponsiveHeight

Example online

 $('#fullpage').fullpage({
     responsiveWidth: 800,
     continuousVertical: true
 });

详细in the docs

responsiveWidth:(默认 0)在定义的像素宽度下将使用普通滚动(autoScrolling:false)。一个类 fp-responsive 被添加到 body 标签中,以防用户想要将它用于他自己的响应式 CSS。例如,如果设置为 900,只要浏览器的宽度小于 900,插件就会像普通网站一样滚动。

responsiveHeight:(默认 0)在定义的高度(以像素为单位)下将使用普通滚动 (autoScrolling:false)。一个类 fp-responsive 被添加到 body 标签中,以防用户想要将它用于他自己的响应式 CSS。例如,如果设置为 900,只要浏览器的高度小于 900,插件就会像普通网站一样滚动。

此外,您可以使用 fp-auto-height-responsive 类来防止 fullPage.js 将您的部分的大小限制为 100% 的高度。阅读它in the docs too

更新

如答案中所述,现在他想知道如何在移动设备上禁用verticalCentered。 就像使用上面详述的响应选项(也将禁用自动滚动)及其state class 覆盖使用verticalCentered:true 时应用于部分的.fp-tableCell 类一样简单。

.fp-responsive .fp-tableCell {
    vertical-align: top;
}

【讨论】:

  • 我遇到的问题是我在移动布局时尝试将verticalCentered 切换为false。垂直居中使响应式设计变得非常困难,而这个选项唯一能做的就是禁用滚动效果。
  • 您在问题中没有提到任何关于verticalCentered 的内容......但无论如何,我已经更新了我的答案。看看吧。
  • @Simplici7y 你应该接受这个答案在左边的右边勾号上是有效的。这样,其他进入此问题的人就会知道正确答案是什么。
  • 谢谢你,在这方面还是个初学者。将来也会牢记这一点。
【解决方案2】:

条件切换。 $(window).width()800试试这个:

<script type="text/javascript">
if ( $(window).width() < 800) {
   $(document).ready(function() {
            $('#fullpage').fullpage({
                responsiveWidth: 800,
                continuousVertical: true
            });
        });
}
</script>

【讨论】:

  • 不需要条件....响应选项实际上就是条件本身。阅读我的答案以获取更多信息。
  • 我尝试了两种方法,不幸的是,这样做会完全禁用任何窗口大小的脚本。
猜你喜欢
  • 2015-11-15
  • 2018-12-25
  • 1970-01-01
  • 2015-03-30
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多