我試圖寫一個簡單的字體大小更改器。這完美的工作,直到我使用引導框架。 當我增加字體大小時,字體大小減小。這是一個奇怪的行爲。錯誤的字體大小計算
var baseFontSize;
(function() {
"use strict";
/* Global variables */
/* jQuery Plugin: convert fontsize of a DOM element to em
*
* usage: $(element).pxToEm()
* returns a number rounded to 3 digits
*
*/
$.fn.pxToEM = function() {
var fontSize = this.css("font-size"),
value = /[^em|pt|px]*/g.exec(fontSize);
return Number((value/baseFontSize).toFixed(3));
};
}(jQuery));
$(document).ready(function() {
"use strict";
var body = $("#bodyid"),
increaser = $("#font-sizer > ul > li:first-child"),
decreaser = $("#font-sizer > ul > li:last-child"),
maxFontSize = 2.0,
minFontSize = 0.5;
baseFontSize = parseFloat(body.css("font-size"));
increaser.click(function (event) {
var actualFontSize = body.pxToEM();
actualFontSize += 0.1;
if (actualFontSize > maxFontSize) {
actualFontSize = maxFontSize;
}
body.css("font-size", actualFontSize + "em");
});
decreaser.click(function (event) {
var actualFontSize = body.pxToEM();
actualFontSize -= 0.1;
if (actualFontSize < minFontSize) {
actualFontSize = minFontSize;
}
body.css("font-size", actualFontSize + "em");
});
});
我已經添加了我的代碼的小提琴鏈接。
https://jsfiddle.net/uqrqo6bs/
嘿,這種方法不適用於1em以外的值。嘗試使用1.1em或0.9em,增加和減少功能會顯示意外的行爲。 – wtflux