如何删除/禁用javascript中的功能?

Tre*_*ent 5 javascript function

我正在尝试编写一个包含多个变量和函数的脚本。该脚本用于导航栏,它应该执行以下操作:

  1. 滚动时:将 bg 从透明更改为纯色,并更改徽标 img。

  2. 在小屏幕上:将 bg 从透明更改为纯色,并更改徽标 img。

问题是我可以让它与一个或另一个一起工作,但不能同时使用。发生的情况是调整大小在小屏幕上起作用,直到您向下滚动并向上滚动。当它到达顶部时,背景会恢复透明。

有没有办法在较小的屏幕上删除 scrollTop 功能?我觉得删除/禁用此功能可以解决问题。

* 有没有办法做这样的事情 * if (width < 786) { //REMOVE scrollTop;//?

我只是想弄清楚如果屏幕很小,如何删除 scrollTop 功能。

我尝试将这些函数放在单独的脚本中,并使用 @media css,这是迄今为止最接近工作的,但是当滚动到达顶部时,“绿色”标志消失了。

    $(document).ready(function() {

    $(window).scroll(function() {
    $(window).resize(function() {

        var height = $('.first-container').height();
        var scrollTop = $(window).scrollTop();
        var width = $(window).width();

        if (scrollTop >= 0 || width < 768) {
            $('.nav-container').addClass('solid-nav') && 
            $('.navbar-brand img').attr('src','images/new-green-sm.png');
       } else {
            $('.nav-container').removeClass('solid-nav') &&
            $('.navbar-brand img').attr('src','images/new-white-sm.png');
        }    
    });
    });
    });
Run Code Online (Sandbox Code Playgroud)

Gia*_*ley 0

当你想测试宽度时只需运行这个即可删除该功能。

if (width < 768) {
  scrollTop = function(){};
};
Run Code Online (Sandbox Code Playgroud)