我想知道是否有其他方法可以在不使用模数的情况下编写此函数。我意识到我有另一段代码需要我点击#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');
}
});
编辑:稍微改变了一下问题。对不起,最后一个太宽了。
答案 0 :(得分:1)
正如Boldewyn所提到的,很可能你的问题是你正在定义一个全局变量c
。但是如果你想完全避免这个变量,可以通过jQuery contact-button
函数检查hasClass
的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');
...
}
});
答案 1 :(得分:0)
代码干扰了其他代码,因为您隐式生成了一个全局变量c
。可能的解决方法:使用IIFE:
(function() {
var c = 0;
/* rest of your code above ... */
})();