簡體   English   中英

結合兩個JS函數

[英]Combine two JS functions

我目前正在嘗試將兩個 if 函數結合起來,但不知何故我只會得到錯誤。 我已經嘗試了多種組合它們的方法,但沒有結果。

我想做的是:我需要檢查 body 是否有特定的類,如果是,則需要取消選中復選框。

我試圖結合的內容:

if (document.body.classList.contains('thatClass')) {
    // do some stuff
}

$(function() {
  $(document).on("click", function(e) {
    if ($(e.target).is(".main-nav-slideout") === false) {
      $("#main-nav-toggle").prop("checked", false);
    }
  });
});

我嘗試結合片段:

$(function() {
  $(document).on("click", function(e) {
      if (document.body.classList.contains('thatClass')) && ($(e.target).is(".main-nav-slideout") === false) {
      $("#main-nav-toggle").prop("checked", false);
    }
  });
});

您可以縮短它,並在需要時調用該函數。

 $(function() { checkCheckbox() $(document).on("click", '.main-nav-slideout', checkCheckbox) }); function checkCheckbox() { $("#main-nav-toggle").prop("checked", $('body').hasClass('thatClass')); }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <body class='thatClass'> <input type='checkbox' id='main-nav-toggle' /> <div class='main-nav-slideout'>Click me</div> </body>

試試這個:

$(function() {
  $(document).on("click", function(e) {
      if (document.body.getAttribute('class').split(' ').indexOf('thatClass')>-1 && ($(e.target).is(".main-nav-slideout") === false) {
      $("#main-nav-toggle").prop("checked", false);
    }
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM