首页 > 解决方案 > addClass 在 iphone Chrome 上不起作用

问题描述

  // changing navbar background-color by scrolling
  $(window).scroll(function() {
  if ($(this).scrollTop() > 20) {
    $("#tab-nav").addClass("tab-scroll");
  } else {
    $("#tab-nav").removeClass("tab-scroll");
  }
});

.tab-scroll {
  background-color: rgb(255, 255, 255) !important;
}

以上是我的 jquery 和 CSS 代码。我想在导航栏达到一定高度时更改其背景颜色,该代码适用于桌面上的每个浏览器,它也适用于 iPhone safari。但它不适用于 iPhone chrome。你们能帮我修一下吗?有什么技巧可以使代码与任何浏览器兼容吗?

感谢

标签: jquerycssweb

解决方案


使用Vanilla JS

function scrollFunctions() {
    var
        pageY = window.pageYOffset,
        tab = document.getElementById('tab-nav');

    /** @Sticky Header **/
    if (pageY > 20) {
        tab.classList.add('tab-scroll');
    }
    else if (pageY <= 20) {
        tab.classList.remove('tab-scroll');
    }
}

window.addEventListener('scroll', function () {
    scrollFunctions();
});

推荐阅读