簡體   English   中英

如何在不使用模數的情況下編寫此函數?

[英]How can I write this function without using a modulo?

我想知道是否還有另一種無需使用模數即可編寫此函數的方法。 我意識到我還有另一段代碼,要求我單擊#mail-wrap按鈕,這樣做會使影響此功能的單擊次數混亂。

這只是一個簡單的開關。 我對條件句不太滿意。

$('#mail-wrap').click(function (e) {
    e.preventDefault();

    var c = 0;

    if (c++ % 2 == 0) {
        $('#contact-button').addClass('project-button').text('Projects');
    } else {
        $('#contact-button').removeClass('project-button').text('Get in touch');
    }
});

編輯:改變了一點問題。 抱歉,最后一個范圍太廣。

正如Boldewyn所述,您最有可能遇到的問題是正在定義全局變量c 但是,如果您想完全避免使用此變量,則可以通過jQuery hasClass函數檢查contact-button的CSS類,即

$('#mail-wrap').click(function (e) {
  ...
  var contactButton = $('#contact-button');

  if (!contactButton.hasClass('project-button')) {
    $('#contact-button').addClass('project-button').css('width', '71px').text('Projects');
    ...
  } else {
    $('#contact-button').removeClass('project-button').css('width', '96px').text('Get in touch');
    ...
  }
});

該代碼正在干擾其他代碼,因為您已隱式生成了全局變量c 可能的解決方法:使用IIFE

(function() {
  var c = 0;
  /* rest of your code above ... */
})();

暫無
暫無

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

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