[英]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.