gpt4 book ai didi

jQuery 切换(单击以显示一个 div,同时隐藏其他 div)

转载 作者:行者123 更新时间:2023-12-03 22:04:19 26 4
gpt4 key购买 nike

基本思想是我有一堆 div,其中每个 div 都可以切换(显示/隐藏)。

当切换一个 div 时,我希望当前显示的其他 div 隐藏起来,因此一次只允许显示一个 div。

此外,我希望能够在元素外部单击以隐藏打开的 div。

为了让事情更清楚,我提供了一个示例,该示例当前可以执行我想要的所有操作,除了在打开另一个 div 时关闭一个 div(一次仅打开一个 div 功能):

$(document).ready(function(){

$('div.dropdown').each(function() {
var $dropdown = $(this);

$("a.dropdown-link", $dropdown).click(function(e) {
e.preventDefault();
$("div.dropdown-container", $dropdown).toggle();
return false;
});

});

$('html').click(function(){
$("div.dropdown-container").hide();
});

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div id="dropdown-1" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>

<div id="dropdown-2" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>

<div id="dropdown-3" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>

最佳答案

您基本上只需要隐藏除正在切换的 div 之外的所有 div:

$(document).ready(function(){

$('div.dropdown').each(function() {
var $dropdown = $(this);

$("a.dropdown-link", $dropdown).click(function(e) {
e.preventDefault();
$div = $("div.dropdown-container", $dropdown);
$div.toggle();
$("div.dropdown-container").not($div).hide();
return false;
});

});

$('html').click(function(){
$("div.dropdown-container").hide();
});

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div id="dropdown-1" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>

<div id="dropdown-2" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>

<div id="dropdown-3" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>

关于jQuery 切换(单击以显示一个 div,同时隐藏其他 div),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11769270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com