[英]Increase or decrease font-size by 1em when clicking button
我正在嘗試在jQuery中制作一個字體大小更改器。
這個想法是,當您單擊帶有標簽“ a +”的按鈕時,指定元素的字體大小將增加1em(因此,如果當前字體大小是2em,它將變為3em),並且標簽將變為“ a-”。 ”。 當您單擊帶有標簽“ a-”的相同按鈕時,指定元素的字體大小減小1em(因此,如果當前字體大小為3em,則它變為2em),並且標簽變回“ a +”。
但是,我只能將字體大小增加/減少到指定的值,並且想要一些幫助使字體大小增加/減少1em。
這是我當前的jQuery代碼:
$("#ChangeFontSizeButton").click(function() { if ($(this).text()=='a+') { $("p").css("font-size", "1.875em"); $(this).text('a-'); } else { $("p").css("font-size","0.875em"); $(this).text('a+'); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html> <body> <button type="button" id="ChangeFontSizeButton">a+</button> <p>Hello, this is a sentence.</p> </body> </html>
因此,您能否以某種方式將指定元素的字體大小增加(當按鈕的標簽為“ a +”時)或減少(當按鈕的標簽為“ a-”時)編碼此功能?
使用$("p").css("font-size")
我們可以獲得以像素為單位的當前字體大小。 只需將該數字除以16(將其轉換為整數后),就可以得到em中的當前大小。
從那里,只需添加一個,然后設置字體大小。
$("#ChangeFontSizeButton").click(function() { var em = parseInt($("p").css("font-size")) / 16; if ($(this).text()=='a+') { $("p").css("font-size", em+1 + "em"); $(this).text('a-'); } else { $("p").css("font-size", em-1 + "em"); $(this).text('a+'); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html> <body> <button type="button" id="ChangeFontSizeButton">a+</button> <p>Hello, this is a sentence.</p> </body> </html>
最簡單的方法是在em中定義所有文本樣式,並使用jQuery更改body
的基本字體大小。 所有基於em和rem的樣式都將繼承自該樣式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.