GterForumWeB/src/utils/fontSize.js
2023-03-28 18:04:49 +08:00

40 lines
1.0 KiB
JavaScript
Executable File

(function(window, document) {
var sizeUI = 750 // 定义设计图尺寸
var remBase = 75 // 定义基准值
var docEl = document.documentElement
var bodyEl = document.querySelector('body')
setRemUnit()
window.addEventListener('resize', setRemUnit)
window.addEventListener('pageshow', function(e) {
if (e.persisted) setRemUnit()
})
function setRemUnit() {
var docFontSize = docEl.clientWidth / sizeUI * remBase
docEl.style.fontSize = docFontSize + 'px'
bodyEl.style.fontSize = 16 / docFontSize + 'rem'
handleRemAdapt()
}
function handleRemAdapt() {
var currentFontSize = parseInt(docEl.style.fontSize)
var temp = currentFontSize
for (var i = 0; i < 100; i++) {
var realFontSize = parseInt(window.getComputedStyle(docEl).fontSize)
var differ = realFontSize - currentFontSize
if (Math.abs(differ) >= 1) {
if (differ > 0) {
temp--
} else {
temp++
}
docEl.style.fontSize = temp + 'px'
} else {
break
}
}
}
})(window, document)