我正在处理一段代码,它会增加单击时的字体大小,减小单击时的字体大小,并在单击时重置字体大小。我通过这种方式将其应用于所有字体:
function convertAndApplyFonts(y)
{
$("body").find("*").each(function(){
if(y == 'increase'){
$(this).css({"font-size" : parseInt($(this).css("font-size")) + 1});
}
if(y == 'decrease'){
$(this).css({"font-size" : parseInt($(this).css("font-size")) - 1});
}
if(y == 'reset'){
var i = 0;
$(this).css({"font-size" : array[i] });
i++;
}
});
}
在我的代码的开头我有一个原始大小的数组:
var array = [];
$("body").find("*").each(function(){
array.push($(this).css("font-size"));
});
我的问题是我在开始时生成的数组,当我在y == reset时循环时与该元素不匹配。
我已经在我的第一个foreach中完成了console.log()并重置了foreach,并且它们的字体大小不匹配......我做错了什么?
我也尝试了以下内容:
$("html").css({"font-size": counter + "em"});
但这没有做任何事。
答案 0 :(得分:1)
在所有元素中循环使用这样的东西是不对的。
为什么不能使用rem
代替px
?这对你来说会更容易。浏览器本身。使用rem
单位,只需修改html
标记(根元素)font-size
,所有其他具有字体大小/的元素,就可以在一行代码中达到该行为<{1}}代替rem
表示的填充等将自动调整大小。