Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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_Jquery_Html_Css - Fatal编程技术网

Javascript 在滚动上修改高度时,侧边栏会不可控地跳转

Javascript 在滚动上修改高度时,侧边栏会不可控地跳转,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我在我的网站上有一个侧边栏,它固定在侧面,当用户向下或向上滚动时,样式属性top会更改,以便调整高度 $(window).scroll(function() { if ($(this).scrollTop() < 125){ var v = 125 - $(this).scrollTop(); $("#sidebar").css({'top':v + 'px'}); } if ($(this).scrollTop() >= 12

我在我的网站上有一个侧边栏,它固定在侧面,当用户向下或向上滚动时,样式属性top会更改,以便调整高度

$(window).scroll(function() {
    if ($(this).scrollTop() < 125){
        var v = 125 - $(this).scrollTop();
        $("#sidebar").css({'top':v + 'px'});
    }
    if ($(this).scrollTop() >= 125)
    {
        $("#sidebar").css({'top':'5px'});
    }
});
$(窗口)。滚动(函数(){
if($(this).scrollTop()<125){
var v=125-$(this.scrollTop();
$(“#边栏”).css({'top':v+'px'});
}
如果($(this).scrollTop()>=125)
{
$(“#边栏”).css({'top':'5px'});
}
});
然而,当我向下滚动时,侧边栏似乎无法控制地跳转,并没有像我所希望的那样粘在屏幕上。我使用的是Chrome32,所以我看不出有什么问题。请有人帮我解决这个问题。

请查看fiddle

创建一个名为fixed的CSS类

.fixed {
    position: fixed;
    top: 0px;
}
在scroll上,在JavaScript中相应地添加和删除“fixed”类以产生适当的效果

JavaScript

$(function () {
    var $sidebar = $('#sidebar');
    $(window).on('scroll', function () {
        if($(this).scrollTop() < 125) {
            $sidebar.removeClass('fixed');
        } else {
            $sidebar.addClass('fixed');  
        }
    });
});
$(函数(){
变量$sidebar=$(“#sidebar”);
$(窗口).on('scroll',函数(){
if($(this).scrollTop()<125){
$sidebar.removeClass('fixed');
}否则{
$sidebar.addClass('fixed');
}
});
});

当标题滚动出窗口时,边栏将获得“fixed”类,并分别粘贴到屏幕左上角(0,0)的一侧。当标题返回视图时,类将被删除,侧栏将优雅地移回其原始位置。

您需要提供更多代码和/或