2017-11-15 8 views
1

3つの要素のサイズを計算しようとしていますが、それらがウィンドウの高さよりも大きい場合、別のクラスを4つの要素に適用します。なぜJSは動作しませんか?

これは私がこれまで持っているものです。

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"); 
    } 
} 
+1

jquery min js urlをインポートしましたか? –

+0

_このJSは機能しないのですか?_うまくいかないことをご質問ください。 – George

答えて

1

あなたのページのライフサイクルの間に再びクビにするはほとんどありませんdocument.readyイベントの限界値であるため、それはです。

単に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"); 
} 
+0

これは機能しますか? function aboutUssubNav(){ var element = document.getElementById( "about-us"); element.classList.toggle( "open"); var element = document.getElementById( "about-us-button"); element.classList.toggle( "open"); height()+ $( "。nav-footer")。height(); var limit = $( "。ロゴ")。 var win = $(window).height(); if(limit> win){ var element = document.getElementById( "sidebar-column"); element.classList.toggle( "red"); } } –

+0

@AArigin申し訳ありませんが、コメントからコードを読み取ることができません。元の質問と異なるのですか?そうでない場合は、問題を再現するための作業スニペットを作成できますか? – gurvinder372

+0

上記の内容を更新しました。ありがとうございます。 –

0

作るだけで$(ドキュメント).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"); 
     } 
    }); 
関連する問題