リンクがクリックされたときにいくつかの要素を切り替えたいだけです:
これが私が試みている方法です(しかし、この質問では、イベント関数のコールバックの内容がそれほど重要であるとは思いません):
/* mostrar exceso de comentarios a peticion del usuario*/
$('.toggleComments').click(function(){
console.log('.toggleComments');
if($(this).parents('.helpContent').find('.commentHideble:visible').length > 0){
$(this).text('+ <?=get_texto_clave('show_old_comments')?>').removeClass('toggleCommentsActive').append(' ('+$(this).parents('.helpContent').find('.commentHideble:not:visible').length+'+)');
}else{
$(this).text('- <?=get_texto_clave('hide_old_comments')?>').addClass('toggleCommentsActive');
}
$(this).parents('.helpContent').find('.commentHideble').slideToggle(100);
});
ブール値も試しましたが、同じ結果が得られました
/* mostrar exceso de comentarios a peticion del usuario*/
var ctoggle = false;
$('.toggleComments').click(function(){
if(ctoggle == false){
ctoggle = true;
console.log('.toggleComments');
if($(this).parents('.helpContent').find('.commentHideble:visible').length > 0){
$(this).text('+ <?=get_texto_clave('show_old_comments')?>').removeClass('toggleCommentsActive').append(' ('+$(this).parents('.helpContent').find('.commentHideble:not:visible').length+'+)');
}else{
$(this).text('- <?=get_texto_clave('hide_old_comments')?>').addClass('toggleCommentsActive');
}
$(this).parents('.helpContent').find('.commentHideble').slideToggle(100);
ctoggle = false;
}
});
クリックによってログが2回発生するのはなぜですか?