这是一个放大,缩小功能。
<script>
function resizeText(multiplier) {
if (document.body.style.fontSize == "") {
document.body.style.fontSize = "1.0em";
}
document.body.style.fontSize = parseFloat(document.body.style.fontSize) + (multiplier * 0.2) + "em";
}
</script>
我认为它说,默认字体大小,然后将其增加1.0,然后再乘以0.2。 缩小部分在哪里?
答案 0 :(得分:2)
这是一个“放大镜”功能,您可以传递一个数字来增加当前文档的实际document.body.style.fontSize
。
它存在:
font-size CSS属性指定字体的大小 - 特别是字体所需的字形高度。设置 反过来,字体大小可能会改变其他项目的大小,因为它是 用于计算em和ex长度单位的值。
答案 1 :(得分:1)
传递给函数resizeText(multiplier)
的值将决定它是缩小还是放大。
例如:
1.如果乘数值是位置(或大于零),则比放大倍数
2.如果乘数值为负(或小于零),则缩小。
在您的代码中,如果您的当前文档定义了字体大小,那么它将使用该值,否则它将设置为默认值1.0em
。
如果乘数值为正,则此代码(multiplier * 0.2)
会给出正结果并添加到您当前的字体大小
如果乘数值为负,则此代码(multiplier * 0.2)
会给出否定结果,并从当前字体大小中减去一些值。
答案 2 :(得分:1)
采用参数“乘数”
如果当前字体大小为空/空,则设置为“1.0em”
将大小设置为[当前大小的浮点值,去掉“em”] +参数乘以0.2并将“em”附加到末尾。
如果未设置当前大小且参数为5,则字体将变为“2.0em” 如果当前大小为“2.0em”且参数为-1,则字体将变为“1.8em”
答案 3 :(得分:0)
您可以将乘数传递给函数,函数可以根据它进行缩小或缩小。
答案 4 :(得分:0)
你在这个函数中传递乘数resizetext(乘数)这里乘数是函数的一个参数。
在第二行,你检查一个条件
例如:
document.body.style.fontSize = parseFloat(document.body.style.fontSize)+(乘数* 0.2)+“em”;
并且在这一行中,首先你要在float中解析字体大小,然后将乘数参数乘以0.2em,然后为document.body.style.fontSize赋值。
答案 5 :(得分:0)
如果您要更改字体大小,则需要知道字体大小。
不幸的是,有时我们有空字符串表示的默认值。但由于我们知道默认值可以表示为1.0em
,因此很容易处理:
if (document.body.style.fontSize == "") {
document.body.style.fontSize = "1.0em";
}
如果我们有一个空字符串,我们在这里使用1.0em
,因为这意味着同样的事情,但给我们一个我们可以使用的数字。
现在我们需要得到这个数字:
parseFloat(document.body.style.fontSize)
请注意,这不一定是1.0
。如果我们开始使用空字符串,那么它会,但如果已经存在值,则可能是16px
,0.5in
或其他任何内容。
现在我们需要更改该号码,以便更改文档的字体大小:
+ (multiplier * 0.2)
然后我们将数字改回数字和单位:
+ "em"
所以,例如如果我们使用5
进行了调用且尚未设置任何值,则结果为1.0 + (5 * 0.2) = 1.0 + 1.0 = 2.0
。如果我们再用-3调用,结果将是2.0 + (+3 * 0.2) = 2.0 + -0.6 = 1.4
依此类推。
代码有一个小问题,假设“em”结束了字体大小。如果这是影响该值的唯一代码片段(可能是这样),那就没问题,但是如果你必须与可能设置它的其他代码交互,你需要检查单元并重新应用它,以便例如16px
被加倍会导致32px
而不是32em
,依此类推。