我正在创建一个包含3个不同div的动态页面(可能会增加,但现在只有3个)。它们最初是隐藏的,但是当单击链接时,将显示所选的div。我得到了这个工作,但现在我遇到的问题是我真的不知道怎么开始让它记住div打开,然后关闭打开的那个并打开新挑选的那个。
所以基本上要了解我想要发生的事情:
到目前为止我得到的是打开/关闭,但我不知道如何做“记忆”部分,因为我对jQuery没有经验。在代码中你会看到链接链接到“#”,我也想知道如何使页面“流动”到所选的div(在页面上较低)。
我在以下的pastebin链接上发布了我的代码: http://pastebin.com/psftzriY
提前致谢!
<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>
答案 0 :(得分:0)
获取元素的显示属性。
$('#div1toggle').css('display');
检查它是否或阻止
答案 1 :(得分:0)
我会在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");
答案 2 :(得分:0)
检查:http://jsfiddle.net/hamidlab/xLzjZ/1/
隐藏所有divs
,然后显示targetDiv
。
如果targetDiv
为:visible
,请将其隐藏。