Javascript 为什么这个JS不起作用?

Javascript 为什么这个JS不起作用?,javascript,if-statement,toggle,Javascript,If Statement,Toggle,我试图计算3个元素的大小,如果它们大于窗口高度,则对4个元素应用另一个类 这就是我到目前为止所做的: var limit = $(".logo").height() + $(".nav-items").height() + $(".nav-footer").height(); var win = $(window).height(); $(document).ready(function(checkHeight) { if (limit > win) {

我试图计算3个元素的大小,如果它们大于窗口高度,则对4个元素应用另一个类

这就是我到目前为止所做的:

var limit = $(".logo").height() + $(".nav-items").height() + $(".nav-footer").height();
var win = $(window).height();
    $(document).ready(function(checkHeight) {
        if (limit > win) {
            var element = document.getElementById("sidebar-column");
            element.classList.toggle("red");
    }
});
更新:

我想把这项检查应用到现有的功能上——我对这一切都很陌生,谢谢你的病人

function aboutUssubNav() {
    var element = document.getElementById("about-us");
    element.classList.toggle("open");
    var element = document.getElementById("about-us-button");
    element.classList.toggle("open");
    // Check Height of Sidebar Elements to position Sidebar Footer
    var limit = $(".logo").height() + $(".nav-items").height() + $(".nav-footer").height();
    var win = $(window).height();
    if (limit > win) {
         var element = document.getElementById("sidebar-column");
         element.classList.toggle("red");
    }
}

这是因为您是document.ready事件的限制值,在页面的生命周期内不太可能再次触发该事件

只需删除文档即可。准备好并使其生效

var limit = $(".logo").height() + $(".nav-items").height() + $(".nav-footer").height();
var win = $(window).height();
if (limit > win) {
     var element = document.getElementById("sidebar-column");
     element.classList.toggle("red");
}

只需在$document.ready函数中包含变量。 大概是这样的:

    $(document).ready(function() {
        var limit = $(".logo").height() + $(".nav-items").height() + $(".nav-footer").height();
        var win = $(window).height();
        if (limit > win) {
            var element = document.getElementById("sidebar-column");
            element.classList.toggle("red");
        }
    });

你导入了jquery min js url吗?为什么这个js不起作用?请在你的问题中说明,什么是不可行的?关于子AV的函数{var element=document.getElementByIdabout-us;element.classList.toggleopen;var element=document.getElementByIdabout-us-button;element.classList.toggleopen;var limit=$.logo.height+$.nav-items.height+$.nav-footer.height;var win=$window.height;if limit>win{var element=document.getElementByIdsidebar-column;element.classList.toggleed;}}@a对不起,我无法从评论中阅读您的代码。这与您最初的问题不同吗?如果没有,您能否创建一个工作代码段来复制您的问题?我已经为您更新了上面的代码段,谢谢。正如我前面所说,请共享一个工作代码段来演示您的问题。从您的代码中,无法看出哪些不是工作。而且,看起来你之前的问题似乎已经解决了,所以针对新问题提出一个新问题