Javascript jQuery显示/隐藏div切换,记住以前的选择

Javascript jQuery显示/隐藏div切换,记住以前的选择,javascript,jquery,html,show-hide,Javascript,Jquery,Html,Show Hide,我正在制作一个动态页面,其中包含3个不同的div(可能会增加,但现在是3个)。它们一开始是隐藏的,但单击链接时,将显示所选的div。我让它工作了,但现在的问题是,我真的不知道如何开始让它记住哪个div是打开的,然后关闭打开的一个,打开新选择的一个 因此,基本上,我想告诉大家我想要发生什么: 单击链接以打开div1 Div1打开并显示 单击链接打开div2 Div1关闭,将显示div2 再次单击div1链接 Div2将关闭,div1将打开 再次单击div1链接 第一组将关闭 到目前为止,我得到

我正在制作一个动态页面,其中包含3个不同的div(可能会增加,但现在是3个)。它们一开始是隐藏的,但单击链接时,将显示所选的div。我让它工作了,但现在的问题是,我真的不知道如何开始让它记住哪个div是打开的,然后关闭打开的一个,打开新选择的一个

因此,基本上,我想告诉大家我想要发生什么:

  • 单击链接以打开div1
  • Div1打开并显示
  • 单击链接打开div2
  • Div1关闭,将显示div2
  • 再次单击div1链接
  • Div2将关闭,div1将打开
  • 再次单击div1链接
  • 第一组将关闭
到目前为止,我得到的是开始/结束部分,但我不太知道如何做“记住”部分,因为我对jQuery没有太多经验。在代码中,您将看到链接链接链接到“#”,我还想知道如何使页面“流动”到所选的div(位于页面下方)

我在下面的pastebin链接上发布了我的代码:

谢谢你

<html>

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
    $(document).ready(function() {
        $('#div1toggle').click(function() {
                $('.div1').slideToggle("slow");
        });
    });
    $(document).ready(function() {
        $('#div2toggle').click(function() {
                $('.div2').slideToggle("slow");
        });
    });
    $(document).ready(function() {
        $('#div3toggle').click(function() {
                $('.div3').slideToggle("slow");
        });
    });
</script>

</head>

<body>

<a href="#" id="div1toggle">Click here DIV1</a><br>
<a href="#" id="div2toggle">Click here DIV2</a><br>
<a href="#" id="div3toggle">Click here DIV3</a><br>

<div class="div1" style="display:none;">
   <h1>Div1</h1>
   <p>Text</p>
</div>

<div class="div2" style="display:none;">
   <h1>Div2</h1>
   <p>Text</p>
</div>

<div class="div3" style="display:none;">
   <h1>Div3</h1>
   <p>Text</p>
</div>


</body>

</html>

$(文档).ready(函数(){
$('#div1toggle')。单击(函数(){
$('.div1')。滑动切换(“慢速”);
});
});
$(文档).ready(函数(){
$('#div2toggle')。单击(函数(){
$('.div2')。滑动切换(“慢速”);
});
});
$(文档).ready(函数(){
$('#div3toggle')。单击(函数(){
$('.div3')。滑动切换(“慢速”);
});
});



第一组 正文

第二组 正文

第三组 正文


获取元素的显示属性

$('#div1toggle').css('display');

选中它的none或blcok

我将向open div添加一个类,这样很容易再次找到:

//Hide the existing div and remove the class
$(".open-div").hide();
$(".open-div").removeClass("open-div");

// Now show the div that was just clicked and add the class 
myClickedDiv.show();
myClickedDiv.addClass("open-div");
检查:

隐藏所有
div
,然后显示
targetDiv

如果
targetDiv
为,则将其隐藏。

您的代码现在有什么问题?您的代码正常]我现在拥有的代码很好是的,但我希望它关闭当我单击打开其他div时打开的div。如何?告诉我什么在你的小提琴里不起作用,第1、2、3、4节没有结束??根据你的代码说,要具体。我准确地说出了我要找的东西,而看到其他人理解意味着问题不在我的解释中。当你根本不明白的时候,不要告诉人们“具体点”。谢谢,这正是我所期待的。这个想法有效,但我更喜欢另一个专门针对div并处理它们的想法,而不是生成类。谢谢你!