Jquery 基于另一个div显示/隐藏div';s状态而不刷新页面

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代码 请澄清你需要什么,这是如此混乱,我想点击

我正在尝试根据div的状态显示/隐藏'link2'。如果打开,则隐藏link2;如果关闭,则显示link2

link1和link2都会触发面板分区的关闭或打开。 因为我使用会话来记住div的状态,所以我也希望显示相应的链接

html:


测试
链接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();
        }
    }
});