jQuery如果Else语句没有运行'else'命令

时间:2013-06-19 20:24:16

标签: javascript jquery

我有一个函数我试图写,以使我的侧栏粘。

我有以下,在将div设置为position时工作正常:固定,只有当我向上滚动页面时,我的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"});
}
});

1 个答案:

答案 0 :(得分:1)

这不是if/else。它是if/else if,没有默认else条件。我想你会想要通过使用普通的dist覆盖50等于if/else的情况:

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

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

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