![](/img/trans.png)
[英]How to autoscroll to a hidden div when using show hide funciton in a loop
[英]How to show a hidden DIV and auto hide it when other div is opened
我正在尝试建立一个仅包含一个页面(index.html)的网站,并且在其中包含divs
,这些divs
基本上将用作主页内的页面。 我知道我们需要jquery和或java来实现这一目标。 但是我是编程新手。
我需要的是,大约有8个div(换句话说,单个html文件中有8个页面)。 我需要将这些div链接到导航栏导航,当我单击任何导航时,(隐藏的) div
应该像滚动效果一样下降。 同样,如果单击其他导航,则当前打开的div
应该会自动消失,而新的div
应该会代替它。
谁能帮帮我吗。 我对这些网站大楼很陌生。 如果可能,请将我重定向到视频或一些示例。 先感谢您。
导航:
<nav>
<ul>
<li><a href="#foo">Foo</a></li>
<li><a href="#bar">Bar</a></li>
</ul>
</nav>
页数:
<main>
<section id="foo">Foo's contents</section>
<section id="bar">Bar's contents</section>
</main>
CSS:
main > section {
display: none;
}
:target {
display: block;
}
请注意:target
伪类在旧的浏览器上不起作用。
您应该能够执行以下操作:
var divs = ["div1", "div2", "div3", "div4", "div5", "div6", "div7", "div8"];
var visibleDivId = null;
function toggleVisibility(divId) {
if (visibleDivId === divId) {
visibleDivId = null;
} else {
visibleDivId = divId;
}
hideNonVisibleDivs();
}
function hideNonVisibleDivs() {
var i, divId, div;
for (i = 0; i < divs.length; i++) {
divId = divs[i];
div = document.getElementById(divId);
if (visibleDivId === divId) {
div.style.display = "block";
} else {
div.style.display = "none";
}
}
}
然后,只需将onclick事件添加到您的相应div链接即可,如下所示:
第一个链接(显示div2并隐藏所有其他链接):
<a href="#" onClick="toggleVisibility('div2');return false;">
只需与其他div重复该链接格式即可。
动画需要jquery,因此结构与我的原始答案不同:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>jquery slideup-down</title>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.10.2.js'></script>
<style type='text/css'>
.targetDiv {
display: none
}
</style>
<script type='text/javascript'>
jQuery(function () {
jQuery('.showSingle').click(function () {
var index = $(this).index(),
newTarget = jQuery('.targetDiv').eq(index).slideDown();
jQuery('.targetDiv').not(newTarget).slideUp();
});
});
</script>
</head>
<body>
<a class="showSingle" target="1">Div 1</a>
<a class="showSingle" target="2">Div 2</a>
<a class="showSingle" target="3">Div 3</a>
<a class="showSingle" target="4">Div 4</a>
<a class="showSingle" target="1">Div 5</a>
<a class="showSingle" target="2">Div 6</a>
<a class="showSingle" target="3">Div 7</a>
<a class="showSingle" target="4">Div 8</a>
<div id="div1" class="targetDiv">Lorum Ipsum1</div>
<div id="div2" class="targetDiv">Lorum Ipsum2</div>
<div id="div3" class="targetDiv">Lorum Ipsum3</div>
<div id="div4" class="targetDiv">Lorum Ipsum4</div>
<div id="div1" class="targetDiv">Lorum Ipsum5</div>
<div id="div2" class="targetDiv">Lorum Ipsum6</div>
<div id="div3" class="targetDiv">Lorum Ipsum7</div>
<div id="div4" class="targetDiv">Lorum Ipsum8</div>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.