【发布时间】:2020-11-13 16:34:45
【问题描述】:
我的应用程序中有一个字体更改代码,如下所示 -
HTML -
<button onclick="incdec(1)"></button>
<button onclick="incdec(-1)"></button>
<p id="element1>Element 1 has font size 12px</p>
<p id="element2>Element 2 has font size 14px</p>
JS-
var items = [{
"el": "#element1",
"maxSize": 14,
"minSize": 12
}, {
"el": "#element2",
"maxSize": 16,
"minSize": 14
}]
var incdec = function(dir) {
items.forEach(function(item) {
size(dir, item)
});
};
var size = function(dir, item) {
var el = document.querySelector(item.el);
var max = item.maxSize;
var min = item.minSize;
console.log(dir, min, max)
var style = window.getComputedStyle(el, null).getPropertyValue('font-size');
var fontSize = parseFloat(style);
if (dir === 1 && fontSize < max) {
el.style.fontSize = (fontSize + 1) + 'px';
console.log("incSize", el.tagName, el.style.fontSize)
} else if (dir === -1 && fontSize > min) {
el.style.fontSize = (fontSize - 1) + 'px';
console.log("decSize", el.tagName, el.style.fontSize)
}
}
我希望所选字体大小在重新加载时保持不变。如何使用本地存储来实现这一点?请注意,两个元素的当前(设置/默认)字体不同,因此必须将不同的值存储在每个元素的本地存储中。 我需要逻辑方面的帮助。
谢谢!!!
【问题讨论】:
-
您遇到了具体问题吗?我在您的代码示例中看到您似乎正在获取字体大小 - 您是否只是想知道如何将它放入并从
localStorage检索它? [MDNlocalStoragedocs] 非常简单。
标签: javascript