Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用localStorage存储类更改-可以这样做吗?_Javascript_Jquery_Html_Local Storage - Fatal编程技术网

Javascript 使用localStorage存储类更改-可以这样做吗?

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

因此,我想为每个用户创建一个Favorites标记选项,以便获得以下代码:

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'));
 });
}