Javascript 将转换应用到滚动的固定标题的最佳方法

Javascript 将转换应用到滚动的固定标题的最佳方法,javascript,jquery,html,css,Javascript,Jquery,Html,Css,假设我有一个高度为100px的头部。当用户向下滚动时,我想更改标题的外观,使其高度为50px 在默认情况下,设置标题样式并显示主标题,然后在用户滚动时使用JavaScript隐藏主标题并显示隐藏的(较小的标题)是否更有意义 这似乎是一个非常复杂的过程,这就是为什么我不确定是否有更简单/更有效的方法来做到这一点。如果您的头是兼容的,也就是说,它们有一些相同的元素,您应该在需要更改头时在头中添加一个类。这样做的好处是可以执行CSS转换,并且所有样式都保留在样式表中 这可能是你的CSS的一部分 hea

假设我有一个高度为100px的头部。当用户向下滚动时,我想更改标题的外观,使其高度为50px

在默认情况下,设置标题样式并显示主标题,然后在用户滚动时使用JavaScript隐藏主标题并显示隐藏的(较小的标题)是否更有意义


这似乎是一个非常复杂的过程,这就是为什么我不确定是否有更简单/更有效的方法来做到这一点。

如果您的头是兼容的,也就是说,它们有一些相同的元素,您应该在需要更改头时在头中添加一个类。这样做的好处是可以执行CSS转换,并且所有样式都保留在样式表中

这可能是你的CSS的一部分

header {
    background: black;
    height: 100px;
    transition: all 1s ease;
}

header.small {
    height: 50px;
}

添加小类时,它会在高度之间转换。

如果您的标题是兼容的,即它们具有一些相同的元素,则当您希望更改标题时,应该在标题中添加一个类。这样做的好处是可以执行CSS转换,并且所有样式都保留在样式表中

这可能是你的CSS的一部分

header {
    background: black;
    height: 100px;
    transition: all 1s ease;
}

header.small {
    height: 50px;
}

添加小类时,它会在高度之间转换。

要使它在有人滚动时工作,您可以尝试以下方法:

$(function(){
    $(window).scroll(function() { 
        if ($(this).scrollTop() > 100) { 
            $('header').toggleClass('small');
        } 
        else {     
            $('header').toggleClass('small');
        }  
    });
});

要使它在有人滚动时工作,您可以尝试以下方法:

$(function(){
    $(window).scroll(function() { 
        if ($(this).scrollTop() > 100) { 
            $('header').toggleClass('small');
        } 
        else {     
            $('header').toggleClass('small');
        }  
    });
});

好的,但是我如何使它只在用户滚动时变小?好的,但是我如何使它只在用户滚动时变小?