Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.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
Jquery 平稳地改变元素的位置_Jquery_Html_Css - Fatal编程技术网

Jquery 平稳地改变元素的位置

Jquery 平稳地改变元素的位置,jquery,html,css,Jquery,Html,Css,当向下滚动页面时,我希望将菜单平滑地移动到页面顶部,并将其位置更改为粘滞。使用下面的代码,我可以使菜单在滚动时淡入 我怎样才能使它平稳地向上移动,然后保持在那里而不是突然消失 这是我的密码: jQuery: $(function(){ var menu = $('#menu'), pos = menu.offset(); $(window).scroll(function(){ if($(this).scrollTop() &g

当向下滚动页面时,我希望将菜单平滑地移动到页面顶部,并将其位置更改为粘滞。使用下面的代码,我可以使菜单在滚动时淡入

我怎样才能使它平稳地向上移动,然后保持在那里而不是突然消失

这是我的密码:

jQuery:

$(function(){

    var menu = $('#menu'),
        pos = menu.offset();

        $(window).scroll(function(){
            if($(this).scrollTop() > pos.top+menu.height() && menu.hasClass('default')){
                menu.fadeOut('fast', function(){
                    $(this).removeClass('default').addClass('fixed').fadeIn('fast');
                });
            } else if($(this).scrollTop() <= pos.top && menu.hasClass('fixed')){
                menu.fadeOut('fast', function(){
                    $(this).removeClass('fixed').addClass('default').fadeIn('fast');
                });
            }
        });

});
.fixed {
    position: fixed;
    top: -5px;
    left: 0;
    width: 100%;
}
演示:

如果您从jquery函数中删除淡出,您应该实现您想要的:

$(window).scroll(function(){
    if($(this).scrollTop() > pos.top+menu.height() && menu.hasClass('default')){
        menu.removeClass('default').addClass('fixed');
    } else if($(this).scrollTop() <= pos.top && menu.hasClass('fixed')){
        menu.removeClass('fixed').addClass('default');
    }
});
$(窗口)。滚动(函数(){
if($(this.scrollTop()>pos.top+menu.height()&&menu.hasClass('default')){
menu.removeClass('default').addClass('fixed');

}如果($(this).scrollTop()@Pete,您应该应用您的示例作为答案。