使用本地存储更改填充无效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用本地存储更改填充无效相关的知识,希望对你有一定的参考价值。
我用两个按钮来更改网站上的填充。它们有效,但是我必须在CSS中手动设置nav,main和footer的填充。这是代码:
main {
padding: 20px 25%;
}
footer {
padding: 5px 25%;
}
nav {
padding: 0 25%;
}
var padding = 15;
$('#paddingPlus').click(function() {
switch(padding) {
case 0:
changePadding(5);
padding = 5;
break;
case 5:
changePadding(10);
padding = 10;
break;
case 10:
changePadding(15);
padding = 15;
break;
case 15:
changePadding(20);
padding = 20;
break;
case 20:
changePadding(25);
padding = 25;
break;
case 25:
changePadding(30);
padding = 30;
break;
case 30:
alert('You have reached the maximum ammount of padding!');
break;
}
});
$('#paddingMinus').click(function() {
switch(padding) {
case 0:
alert('You have reached the minimum ammount of padding!');
break;
case 5:
changePadding(0);
padding = 0;
break;
case 10:
changePadding(5);
padding = 5;
break;
case 15:
changePadding(10);
padding = 10;
break;
case 20:
changePadding(15);
padding = 15;
break;
case 25:
changePadding(20);
padding = 20;
break;
case 30:
changePadding(25);
padding = 25;
break;
}
});
function changePadding(pad) {
$('nav').css('padding', '0 ' + pad + '%');
$('main').css('padding', '20px ' + pad + '%');
$('footer').css('padding', '5px ' + pad + '%');
}
我尝试使用localstorage进行此操作,以便保存填充,但是它不起作用,chrome无法显示任何错误消息。这是代码:
main { }
footer { }
nav { }
switch(localStorage.getItem('padding')) {
case 0:
changePadding(0);
localStorage.setItem('padding', 0);
break;
case 5:
changePadding(5);
localStorage.setItem('padding', 5);
break;
case 10:
changePadding(10);
localStorage.setItem('padding', 10);
break;
case 15:
changePadding(15);
localStorage.setItem('padding', 15);
break;
case 20:
changePadding(20);
localStorage.setItem('padding', 20);
break;
case 25:
changePadding(25);
localStorage.setItem('padding', 35);
break;
case 30:
changePadding(30);
localStorage.setItem('padding', 30);
break;
default:
changePadding(15);
localStorage.setItem('padding', 15);
}
$('#paddingPlus').click(function() {
switch(localStorage.getItem('padding')) {
case 0:
changePadding(5);
localStorage.setItem('padding', 5);
break;
case 5:
changePadding(10);
localStorage.setItem('padding', 10);
break;
case 10:
changePadding(15);
localStorage.setItem('padding', 15);
break;
case 15:
changePadding(20);
localStorage.setItem('padding', 20);
break;
case 20:
changePadding(25);
localStorage.setItem('padding', 25);
break;
case 25:
changePadding(30);
localStorage.setItem('padding', 30);
break;
case 30:
alert('You have reached the maximum ammount of padding!');
break;
}
});
$('#paddingMinus').click(function() {
switch(localStorage.getItem('padding')) {
case 0:
alert('You have reached the minimum ammount of padding!');
break;
case 5:
changePadding(0);
localStorage.setItem('padding', 0);
break;
case 10:
changePadding(5);
localStorage.setItem('padding', 5);
break;
case 15:
changePadding(10);
localStorage.setItem('padding', 10);
break;
case 20:
changePadding(15);
localStorage.setItem('padding', 15);
break;
case 25:
changePadding(20);
localStorage.setItem('padding', 20);
break;
case 30:
changePadding(25);
localStorage.setItem('padding', 25);
break;
}
});
function changePadding(pad) {
$('nav').css('padding', '0 ' + pad + '%');
$('main').css('padding', '20px ' + pad + '%');
$('footer').css('padding', '5px ' + pad + '%');
}
如果有人可以告诉我我的错误在哪里,我将非常感激。在此先感谢
答案
尝试将您从localStorage.getItem('padding')
获得的填充转换为Number
(即parseInt(localStorage.getItem('padding'))
)。当您从localstorage
获得项目时,它会返回String
,因此您的case
不起作用。
以上是关于使用本地存储更改填充无效的主要内容,如果未能解决你的问题,请参考以下文章
当另一个片段中的数据发生更改时,如何刷新一个片段中的 RecyclerView
更改所有提交的 git 作者信息对我的一个存储库有效,但对其他存储库无效,为啥?