Javascript 字体大小调整器

Javascript 字体大小调整器,javascript,jquery,Javascript,Jquery,我有一个字体大小调整器,需要包含在一个链接中。例如,显示“较大类型”的文本链接,单击时切换到“较小类型”的文本链接。我不知道为什么它会切换类“加号/减号”,但它不会在else语句之后切换文本或调用字体大小调整函数 目前,它在第一次单击时就可以调整文本大小并添加减号类,但在那之后它什么也不做 您的状态未使用切换进行校准 检查a是否有类plus,但如果有,则从不删除加号,而是删除(或添加)减号 您应该始终切换plus,以便在它存在时删除它,并在它不存在时添加它: $('.resize-font a

我有一个字体大小调整器,需要包含在一个链接中。例如,显示“较大类型”的文本链接,单击时切换到“较小类型”的文本链接。我不知道为什么它会切换类“加号/减号”,但它不会在else语句之后切换文本或调用字体大小调整函数

目前,它在第一次单击时就可以调整文本大小并添加减号类,但在那之后它什么也不做


您的状态未使用切换进行校准

检查
a
是否有类
plus
,但如果有,则从不删除加号,而是删除(或添加)减号

您应该始终切换plus,以便在它存在时删除它,并在它不存在时添加它:

$('.resize-font a').click(function() {
   var hasPlus = $(this).hasClass('plus');
   $(targetContainers).css('font-size', hasPlus ? newLargerSize : newSmallerSize);

   $(this).text(hasPlus ? 'Smaller Type' : 'Larger Type').toggleClass('plus');
});
如果样式设置需要负号,则应始终切换这两个选项:

$(this).text(hasPlus ? 'Smaller Type' : 'Larger Type').toggleClass('plus minus');

问题在于toggleClass()

请看一看,这会解决你的问题

尝试将
$(targetContainers)
更改为
targetContainers
,即使我执行了Else if并检查是否有减号,它也会执行相同的错误。目前,它在第一次单击时就可以调整文本大小并添加减号类,但在那之后它什么也不做。@infatti:是的,因为您检查
a
是否有
加号,但如果有,您永远不会删除加号。因此,下次检查时,它仍将具有
plus
,并始终设置
newLargerSize
@infatti:此外,Giberno的评论是正确的,即
targetContainers
已经是一个jQuery对象,不需要包装在
$()
中,尽管这不是问题的原因。
$(this).text(hasPlus ? 'Smaller Type' : 'Larger Type').toggleClass('plus minus');