带有“else if”语句的jQuery scrollTop不起作用

时间:2016-11-07 18:39:30

标签: javascript jquery if-statement var scrolltop

我正在尝试将addClass和removeClass添加到基于使用jquery进行顶部滚动的div。

我创建了这两个变量:

var mainHeight = $('#main-image').height()/1.10;
var footHeight = $('body').height() - $('footer').height();

这是不起作用的脚本:

$(window).scroll(function(){

    if ($(window).scrollTop() > mainHeight) {
        $('#box_centrale').removeClass('chat-bottom, chat-top');

    } else if ($(window).scrollTop() > footHeight) {
        $('#box_centrale').removeClass('chat-bottom');
        $('#box_centrale').addClass('chat-top');    

    } else {
        $('#box_centrale').removeClass('chat-top');
        $('#box_centrale').addClass('chat-bottom');         
    }
});

“if”和“else”语句有效,但“else if”语句不起作用...
你知道为什么不起作用吗? (我为我的英语道歉)

1 个答案:

答案 0 :(得分:0)

我解决了!第二个变量出错,缺少操作的括号。我决定创建一个jsfiddle,举例说明我想做的事情,希望它能帮助将来的某个人。

谢谢大家

这里的链接: JSFiddle

$(document).ready(function(e) {

var mainHeight = $('#header').height()/2;
var footHeight = ($('body').height() - $('#footer').height() - 290);

$(window).scroll(function(){
    if ($(window).scrollTop() < mainHeight) {
        $('#fixed-box').css({
            "bottom" : "calc(100% - 310px)",
        });

    } else if ($(window).scrollTop() > footHeight) {
        $('#fixed-box').css({
            "bottom" : "calc(260px)",
        });

    } else {
        $('#fixed-box').css({
            "bottom" : "calc(50% - 25px)",
        });         
    }
});          

});