Javascript 使用localStorage存储类更改-可以这样做吗?
因此,我想为每个用户创建一个Favorites标记选项,以便获得以下代码:Javascript 使用localStorage存储类更改-可以这样做吗?,javascript,jquery,html,local-storage,Javascript,Jquery,Html,Local Storage,因此,我想为每个用户创建一个Favorites标记选项,以便获得以下代码: if (window.localStorage) { var didTheyFave = $('.icon-star-empty').click(function() { localStorage.setItem('didTheyFave', faveClass()); alert(localStorage.getItem('didTheyFave')); }); } function faveCla
if (window.localStorage) {
var didTheyFave = $('.icon-star-empty').click(function() {
localStorage.setItem('didTheyFave', faveClass());
alert(localStorage.getItem('didTheyFave'));
});
}
function faveClass() {
$( this ).toggleClass( "icon-star-empty" );
$( this ).toggleClass( 'icon-star' );
}
所以,当点击空的星形图标时,它会变成一个完整的图标,但希望此更改存储在浏览器中,这样当它们返回时,它仍然是完整的图标。我试图调用一个函数作为值,但认为这是不允许的
谢谢
试试这样做。正如名称
localStorage
所示,它是一个存放数据的地方。在您的情况下,它保存函数的返回值。尝试在函数中返回1
,您将看到保存的值。编辑下面的答案。您试图在本地存储中存储什么?这很好,但一旦用户单击,我希望将其存储,因此如果浏览器刷新,它将保持为新的。图标星形类?然后您需要根据当前的内容最初加载类在本地存储中。您可以在页面加载之前执行get,以检查是否将fav
设置为true或false,如果为true,则设置图标星形,否则将图标星形设置为空。
if (window.localStorage) {
var didTheyFave = $('#yourIDforStar').click(function() {
if($(this).hasClass('icon-star'){
$( this ).addClass( 'icon-star-empty' );
$( this ).removeClass( 'icon-star' );
var fav = false;
} else {
$( this ).addClass( 'icon-star' );
$( this ).removeClass( 'icon-star-empty' );
var fav = true;
}
localStorage.setItem('didTheyFave', fav);
alert(localStorage.getItem('didTheyFave'));
});
}