我有一个jquery函数onclick隐藏并显示div:
function toggleInteractlogin(x)
{
if(x=='register')
{
$('#login').hide();
$('#register').show();
}
else
{
$('#register').hide();
$('#login').show();
}
}
然而,每当页面刷新时,div我试图再次显示隐藏,有没有办法在页面刷新后保持div显示。
答案 0 :(得分:3)
如果您使用的是链接,请将href
设为#key
,其中key
是您可以在页面加载(和重新加载)时识别和检测的内容,并且自动如有必要,请显示相关的div
。
如果您没有使用链接,而是在另一个元素上使用onclick
,请改为添加location.href = "#key";
。
答案 1 :(得分:0)
HTML无国籍。
为了保存状态,您可以使用 cookies 。您可以将一个已关闭的值放入其中,当刷新时,您会看到cookie中显示的值并进行必要的更新。
答案 2 :(得分:0)
当页面刷新时,它会返回到原始状态。你必须设置一些浏览器在刷新时维护的东西,例如查询字符串,或者通过改变位置,如Kolink的建议。比你可以获得值来检查div是否应该被隐藏。我不确定隐藏的输入是否在页面刷新时保持该值,但这也可能是一种解决方案。 总之,您可以尝试在点击事件的查询字符串,哈希值或隐藏输入中设置值,并在页面加载时检查此值并隐藏/显示您的div。
示例:
function toggleInteractlogin(x)
{
if(x=='register')
{
location.href = "#register";
$('#login').hide();
$('#register').show();
}
else
{
location.href = "#login";
$('#register').hide();
$('#login').show();
}
}
并在加载事件的文档中添加它或将其放在任何函数之外的某个位置,以便在页面加载时执行。
toggleInteractlogin(location.hash.substring(location.hash.indexOf('#')+1));
我没有测试过这个。您可能需要在加载事件上的文档上调用另一个类似于toggleInteractlogin的函数,但不需要location.href = ...
部分。我不确定,但是当您设置location.href时页面可能会再次重新加载,但我认为不会。