如何在不使用模数的情况下编写此函数?

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');
    }
});

编辑:稍微更改了问题。抱歉,最后一个太宽泛了。

该代码正在干扰其他代码,因为您隐式生成了一个全局变量 c。可能的修复:使用 IIFE:

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

正如 Boldewyn 所提到的,您的问题很可能是您正在定义一个全局变量 c。但是如果你想完全避免这个变量,你可以通过 jQuery hasClass 函数检查 CSS-class of contact-button 函数,即

$('#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');
    ...
  }
});