Я сделал небольшой «виджет размера шрифта» для своего сайта. Теперь сегодня я пытался реализовать sessionstorage, поэтому пользователям не нужно нажимать кнопку все время.Javascript sessionstorage: неожиданное изменение значения
Стандартный размер шрифта - 20. Теперь я понятия не имею, почему, но иногда, ТОЛЬКО, когда я нажимаю кнопку2 (чтобы иметь больший размер), значение становится буквально 20 + 2 => 202. Я не знать, как и почему.
У кого-нибудь есть идея о том, как повысить производительность и решить этот код? Или, если вы считаете, что файлы cookie - это лучшая идея, как мне реализовать куки для этого фрагмента кода?
var currentSize;
function confSize(){
if (sessionStorage.getItem('sessionSize') == ""){
$("#body").css("font-size", "20px");
}
else {
currentSize = sessionStorage.getItem('sessionSize');
$("#body").css("font-size", currentSize + "px");
console.log(sessionStorage.getItem('sessionSize'))
}
$("#button2").click(function(){
if (currentSize == 20){
currentSize = 22;
}
else {
currentSize = currentSize + 2;
}
sessionStorage.setItem('sessionSize', currentSize);
$("#body").css("font-size", currentSize + "px");
});
$("#button").click(function(){
currentSize -= 2;
sessionStorage.setItem('sessionSize', currentSize);
$("#body").css("font-size", currentSize + "px");
});
}
Используя parseInt(), я полагаю? EDIT: когда я использую parseInt вокруг 2 sessionstorage.getItem (как показано выше), кнопки больше не работают ... Вы знаете, что там происходит? Итак: '(parseInt (sessionStorage.getItem ('sessionSize')) ==" ")' и 'currentSize = parseInt (sessionStorage.getItem ('sessionSize'))' – Kryptonous
@ Криптонный Я добавил некоторый пример кода. Можете ли вы рассказать о своем утверждении, что «кнопки больше не работают»? –
Я реализовал ваш фрагмент кода, который имел изменения, которые у меня также были. Теперь я нажимаю кнопки, но ничего не происходит. Хотя это не приводит к какой-либо ошибке в консоли или в другом месте. Действительно странно ... Как будто значение по умолчанию не изменится, но я не думаю, что это проблема ... Я не знаю, в чем проблема. – Kryptonous