我通过按钮增加字体大小,但是我不知道如何在会话中存储字体大小。每次更改页面字体大小时都会重置。我尝试使用sessionStorage,但可能做错了。
(function ($) {
var defaultFontSize = $('html').css('font-size');
$(".resetMe").click(function () {
$('html').css('font-size', defaultFontSize);
});
$(".increase").click(function () {
var fontSize = getFontSize();
var newFontSize = fontSize * 1.15;
if (newFontSize > 11.5) {
return false;
} else {
setFontSize(newFontSize);
storeFontSize(newFontSize);
return false;
}
return false;
});
$(".decrease").click(function () {
var fontSize = getFontSize();
var newFontSize = fontSize * 0.85;
if (newFontSize < 8) {
return false;
} else {
setFontSize(newFontSize);
storeFontSize(newFontSize);
return false;
}
return false;
});
function getFontSize() {
var currentSize = $("html").css("font-size");
var currentSizeNumber = parseFloat(currentSize, 12);
if (currentSizeNumber > 12) {
return false;
}
if (currentSizeNumber < 10) {
return false;
}
return currentSizeNumber;
}
function setFontSize(size) {
$("html").css("font-size", size);
$(".actualSize").html(size);
}
function storeFontSize(size) {
if (sessionStorage) {
sessionStorage.setItem('font-size', size);
console.log(sessionStorage.length) // 1 ellement
// 1st element
console.log(sessionStorage.key(0)); //
console.log(sessionStorage.length) // 1 - tylko
sessionStorage.getItem('font-size');
$("html").css("font-size", sessionStorage.getItem('font-size'));
$(".actualSize").html( sessionStorage.getItem('font-size'));
}
}
})(jQuery);
我在控制台中看到一些值是存储空间,但是我无法在会话中设置此字体大小。
答案 0 :(得分:1)
页面加载时,您需要阅读sessionStorage
。这可以通过$(document).ready
(function ($) {
$(document).ready(function () {
var size = sessionStorage.getItem("font-size") || 12;
setFontSize(size);
});
var defaultFontSize = $("html").css("font-size");
$(".resetMe").click(function () {
$("html").css("font-size", defaultFontSize);
storeFontSize(defaultFontSize);
});
$(".increase").click(function () {
var fontSize = getFontSize();
var newFontSize = fontSize * 1.15;
if (newFontSize < 20) {
// Not higher then 20
storeFontSize(newFontSize);
}
});
$(".decrease").click(function () {
var fontSize = getFontSize();
var newFontSize = fontSize * 0.85;
if (newFontSize > 8) {
// Not lower then 8
storeFontSize(newFontSize);
}
});
function getFontSize() {
var currentSize = $("html").css("font-size");
return parseFloat(currentSize, currentSize);
}
function setFontSize(size) {
$("html").css("font-size", size + "px");
$(".actualSize").html(size);
}
function storeFontSize(size) {
console.log(size);
sessionStorage.setItem("font-size", size);
setFontSize(size);
}
})(jQuery);
答案 1 :(得分:0)
在页面加载时,您缺少使用存储功能的加载功能。
app.UseHttpsRedirection();
app.UseWebSockets();