Jquery 基于另一个div显示/隐藏div';s状态而不刷新页面
我正在尝试根据div的状态显示/隐藏'link2'。如果打开,则隐藏link2;如果关闭,则显示link2 link1和link2都会触发面板分区的关闭或打开。 因为我使用会话来记住div的状态,所以我也希望显示相应的链接 html:Jquery 基于另一个div显示/隐藏div';s状态而不刷新页面,jquery,Jquery,我正在尝试根据div的状态显示/隐藏'link2'。如果打开,则隐藏link2;如果关闭,则显示link2 link1和link2都会触发面板分区的关闭或打开。 因为我使用会话来记住div的状态,所以我也希望显示相应的链接 html: 测试 链接1 链接2 编辑: 例如,如果我单击link1->panel div fades ou->link2出现 由于会话保存面板div的状态,在页面刷新时,link2应该是可见的,代码非常简单。 jQuery代码 请澄清你需要什么,这是如此混乱,我想点击
测试
链接1
链接2
编辑:
例如,如果我单击link1->panel div fades ou->link2出现
由于会话保存面板div的状态,在页面刷新时,link2应该是可见的,代码非常简单。jQuery代码
请澄清你需要什么,这是如此混乱,我想点击链接1,使其折叠面板div,然后链接2应该出现。当我刷新页面时,如果面板div折叠,那么link2应该在那里“当我刷新页面时,如果面板div折叠,那么link2应该在那里”,这在您的示例中似乎是有效的。。嗯。这就是你要找的吗?是的!正是这样。如果你把它当作回答,我会接受的!这不会保存会话,我知道怎么做它不会保存会话。如果我关闭div,它应该在刷新时保持关闭状态
$('#panel').toggleClass('hidden', sessionStorage.getItem('form_visible') != 'true');
$('#flip, #flip_slip').click(function() {
$('#panel').slideToggle('slow', function() {
$(this).toggleClass('hidden');
});
sessionStorage.setItem('form_visible', $('#panel').hasClass('hidden'));
});
$('#flip_slip')[ $('#panel').is(':visible') ? "hide" : "fadeIn" ]();
<div id="panel">
test
<div id="flip">link1</div>
</div>
<div id="flip_slip">link2</div>
$(function () {
if(sessionStorage.getItem('form_visible')===null){
sessionStorage.setItem('form_visible', 'false');//initiate it for the first time
};
checkSessionStorage(); //call it to change the #panel display
$('#flip_slip,#flip').click(function () {
sessionStorage.setItem('form_visible', (sessionStorage.getItem('form_visible') == 'false' ? 'true' : 'false')); //change the sessionStorage
checkSessionStorage(); //call it to change the #panel display
});
function checkSessionStorage() {
if (sessionStorage.getItem('form_visible') == 'true') {
$('#panel').slideDown();
$('#flip_slip').fadeOut();
} else {
$('#panel').slideUp();
$('#flip_slip').fadeIn();
}
}
});