Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除/禁用javascript中的函数?_Javascript_Function - Fatal编程技术网

如何删除/禁用javascript中的函数?

如何删除/禁用javascript中的函数?,javascript,function,Javascript,Function,我正在尝试编写一个包含多个变量和函数的脚本。该脚本用于导航栏,应执行以下操作: 滚动:将bg从透明更改为实心,并更改徽标img 在小屏幕上:将bg从透明更改为实心,并更改徽标img 问题是,我可以让它与其中一个或另一个一起工作,但不能两者兼而有之。 所发生的是调整大小的工作在小屏幕上,直到你向下滚动和备份。当它到达顶部时,背景恢复为透明 有没有办法在较小的屏幕上删除scrollTop功能?我觉得删除/禁用此功能可以解决此问题 *有没有这样的方法* 如果(宽度=0 | |宽度

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

  • 滚动:将bg从透明更改为实心,并更改徽标img

  • 在小屏幕上:将bg从透明更改为实心,并更改徽标img

  • 问题是,我可以让它与其中一个或另一个一起工作,但不能两者兼而有之。 所发生的是调整大小的工作在小屏幕上,直到你向下滚动和备份。当它到达顶部时,背景恢复为透明

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

    *有没有这样的方法* 如果(宽度<786){ //删除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');
            }    
        });
        });
        });
    
    $(文档).ready(函数(){
    $(窗口)。滚动(函数(){
    $(窗口)。调整大小(函数(){
    var height=$('.first container').height();
    var scrollTop=$(窗口).scrollTop();
    变量宽度=$(窗口).width();
    如果(滚动顶部>=0 | |宽度<768){
    $('.nav container').addClass('solid-nav')&&
    $('.navbar brand img').attr('src','images/new green sm.png');
    }否则{
    $('.nav container').removeClass('solid-nav'))&&
    $('.navbar brand img').attr('src','images/new white sm.png');
    }    
    });
    });
    });
    
    我猜可能会发生错误,因为您将
    &&
    放在
    addClass
    语句之后?因为其余代码似乎按预期工作。或者您的手机宽度实际上不小于768像素。(尝试记录宽度)此外,我建议您将函数移到自己的函数中,并将其从滚动和调整大小调用,因为在卷轴ListEnter中放置大小调整的监听器是不好的,您可能需要考虑使用<代码> HasCype()。而不是使用hacky
    &&
    。它更清晰,不太可能导致意外错误。谢谢你的评论。我对js非常陌生。hasClass()做什么?你能给我举个例子看看吗?