Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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 用于动态调整菜单大小的scrollTop功能_Javascript_Jquery_Html_Css_Resize - Fatal编程技术网

Javascript 用于动态调整菜单大小的scrollTop功能

Javascript 用于动态调整菜单大小的scrollTop功能,javascript,jquery,html,css,resize,Javascript,Jquery,Html,Css,Resize,我试图创建一个动态菜单,当用户向下滚动时,它会自动调整大小。在多次搜索之后,我将此脚本添加到html文件的头部: <script type="text/javascript"> $(function() { var header = $(".large"); $(window).scroll(function() { var scroll = $(window).scrollTop(); if (scroll >= 50)

我试图创建一个动态菜单,当用户向下滚动时,它会自动调整大小。在多次搜索之后,我将此脚本添加到html文件的头部:

<script type="text/javascript">
$(function() {
    var header = $(".large");
    $(window).scroll(function() {
       var scroll = $(window).scrollTop();
            if (scroll >= 50) {
            header.removeClass('large').addClass("small");
        } else {
            header.removeClass("small").addClass('large');
        }
    });
});
</script>

为了验证脚本是否激活,我已经更改了小类的颜色,但它仍然没有响应。你能帮助我吗?谢谢

您的问题在这一行:

var header = $(".large");
当您从大类更改为小类时,此选择器将不再工作

此外,缓存该值是无用的,因为选择器会根据新的类值进行更改

因为您使用窗口函数,所以文档就绪(即:$(function(){)是无用的

我的代码段(我使用了一个div和一些文本,而不是标题):

$(窗口)。滚动(函数(){
var scroll=$(窗口).scrollTop();
如果(滚动>=50){
$('.large').removeClass(“large”).addClass(“small”);
}否则{
$('.small').removeClass('small').addClass('large');
}
});
div.large{
位置:固定;
宽度:100%;
身高:20%;
背景色:#00bff;
顶部:0px;
左:0;
z指数:1;
}
小分区{
位置:固定;
宽度:100%;
身高:7%;
背景色:#000000;
顶部:0px;
左:0;
z指数:1;
}

bbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbb
a
a
a
a
a
a
a
a
a
a
a
a
a
var header = $(".large");