0

我有一个函数我试图写来让我的侧边栏变得粘稠。

我有以下内容,可以很好地将我的 div 设置为 position:fixed,只有当我向上滚动页面时,我的 div 类才不会更改为 position:relative。

有人能在我的语法中发现明显的缺陷吗?

$(window).scroll(function() {
var scrollTop = $(window).scrollTop(),
    divOffset = $('#sidebar').offset().top,
    dist = (divOffset - scrollTop);

if (dist > 50) {
    $('#sidebar').css({position:"relative",top:""});
} else if (dist < 50) {
    $('#sidebar').css({position:"fixed",top:"0px","margin-left":"730px"});
}
});
4

1 回答 1

1

这不是一个if/else. 这是一个if/else if没有默认else条件。我想你会想通过使用普通的 old来覆盖distequals的情况:50if/else

if (dist > 50) {
    $('#sidebar').css({position:"relative",top:""});
} else {
    $('#sidebar').css({position:"fixed",top:"0px","margin-left":"730px"});
}

这些条件中的任何一个都不会执行(没有语法错误)。您可以使用alertconsole.log来确定正在执行脚本的哪些部分。

听起来问题出在其他地方。

于 2013-06-19T20:26:56.117 回答