jquery - 删除移动设备的 ScrollTop 功能的问题

标签 jquery html css

我在响应式设计方面遇到了一些困难 我的网站的桌面版本有一个粘性导航栏效果,这是完美的,但是在移动设备上,粘性导航栏阻碍了用户体验。当我向下滚动时,导航栏会正常显示,但粘性导航的背景颜色会阻碍屏幕上文本的可见性。我确实希望粘性导航的背景颜色仅在用户选择移动汉堡包图标时出现,而不是在它向下滚动时出现,这很烦人。提前感谢您的帮助。

我试图将类设置为不显示,但这确实有效,但是当我只想禁用粘性导航栏背景时,它会同时禁用桌面和移动设备上的粘性导航栏背景,仅当用户滚动时才禁用粘性导航栏背景。选择汉堡包图标时出现。

js

$(window).on("scroll", function() {
    if ($(window).scrollTop()) {
        $('nav').addClass('lightgrey');
    } else {
        $('nav').removeClass('lightgrey');
    }

});

CSS

nav.lightgrey {
         height: 400px;
        }       

预期的结果是允许代码中名为 nav.lightgrey 的类仅在用户选择移动汉堡包时显示。

最佳答案

您可以使用 CSS 媒体查询将导航栏的显示设置为仅在移动设备上不显示。

否则,使用 javascript 检测您的设备视口(viewport)宽度,并执行条件以仅在宽度低于特定值时执行代码的 addClass 部分。

if (window.innerWidth > 420) {
  ...do stuff
}

关于jquery - 删除移动设备的 ScrollTop 功能的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57501477/

相关文章:

javascript - 如何使用动态键和值字符串动态构建 Json 对象

jQuery 等同于 Prototype array.last()

javascript - 点击返回时 Google map API 中的 "TypeError: a is null"

javascript - 如何使错误消息更快消失

html - 稍微偏离中心的按钮

html - stellar.js 的视差效果 - 调整大小后出现空白

jquery - 延迟悬停效果

jQuery 替换第一个文本实例

javascript - 带有可选字符的 jQuery Mask

javascript - 带有 onclick-handlers 的元素顶部的链接