Javascript 在滚动上修改高度时,侧边栏会不可控地跳转
我在我的网站上有一个侧边栏,它固定在侧面,当用户向下或向上滚动时,样式属性top会更改,以便调整高度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
$(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)的一侧。当标题返回视图时,类将被删除,侧栏将优雅地移回其原始位置。您需要提供更多代码和/或