我有一个网站,您可以使用此jquery指定页面上应显示的项目:
$('.container h1 a').click(function () {
$('.container').not($(this).parents()).hide();
$(this).css({'text-decoration' : 'none',
'cursor' : 'default'
});
});
但是当我刷新页面时,发生的jquery函数被删除
答案 0 :(得分:3)
由于浏览器,Javascript在客户端运行。它可以修改当前页面,但是一旦您重新加载页面(您从服务器获取其原始内容),任何更改都将被删除。如果您需要将这些更改还原为“用户首选项”,请使用PHP Cookie存储有关每个用户如何更改其界面的信息。这样,当您下次重新加载页面时,您可以执行所需的Javascript函数来恢复用户的视图。
您可以使用Ajax以异步方式存储来自Javascript的用户首选项。
<击> http://www.w3schools.com/ajax/ 这是W3Schools的Ajax教程,您应该了解它。当用户更改页面上的首选项时,请使用PHP cookie(http://php.net/manual/en/features.cookies.php)记住它。重新加载页面时,请检查cookie的内容,并执行必要的Javascript函数以恢复用户的界面。
编辑:不知道http://www.electrictoolbox.com/jquery-cookies/允许您在不使用Ajax和其他PHP脚本的情况下存储来自jQuery的cookie。 Lars Ebert的解决方案确实可以更轻松,但总的想法是一样的。
答案 1 :(得分:1)
css-properties仅临时修改。它们不是永久性的,当您刷新页面时它们就消失了。要记住隐藏的元素,您必须使用cookie。您可以使用此jQuery-plugin存储Cookie。
在此cookie中,您可以在每次用户单击以隐藏一个元素时存储隐藏元素的ID。在页面加载时,您只需阅读cookie并重新隐藏用户隐藏的元素即可!