javascript-在同一位置仅切换一个div元素(隐藏所有其他div)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-在同一位置仅切换一个div元素(隐藏所有其他div),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2166字,纯文字阅读大概需要4分钟。
内容图文
![javascript-在同一位置仅切换一个div元素(隐藏所有其他div)](/upload/InfoBanner/zyjiaocheng/669/b262d69c7d054136912cc39ed0ef2f32.jpg)
我是jQuery的新手,正在努力使用.toggle()函数.
我想在同一位置显示多个< div"元素,但一次只能显示一个.如果一个< div>打开并“切换”另一个按钮,则应自动将其关闭.
HTML:
$(document).ready(function() {
$("#button1").click(function() {
$("#box1").toggle(1000);
});
});
$(document).ready(function() {
$("#button2").click(function() {
$("#box2").toggle(1000);
});
});
.container {
width: 90px;
}
.box1 {
background-color: green;
color: red;
display: none;
}
.box2 {
background-color: blue;
color: yellow;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class=box1 id=box1>
This is Box 1
</div>
<div class=box2 id=box2>
This is Box 2
</div>
</div>
<a href="#" id="button1">Box1</a>
<a href="#" id="button2">Box2</a>
另外,我很确定我只需要一个toggle()函数,而不是4即可完成我要完成的任务…但是尝试调用同一个函数似乎不适用于我的其他id /类.
我在做什么错/想念这里?
解决方法:
通常,您可以使用单个文档就绪功能.
在这种情况下,您还可以使用单击功能来处理切换.由于您使用的是触发器链接,因此需要一种方法来引用目标框,但是类似的方法可以与其他属性一起使用以获取框名称. (您也可以使用索引来做到这一点,但是为了易于使用,我添加了一个target-box属性,该属性具有所需框的ID.)
我还在两个div中添加了相同的box类,您可以删除单个box1 / box2类,因为您已经具有可以处理差异的ID.
我还在链接中添加了一个切换类,为它们提供了更多的语义选择器,并删除了不必要的“打开/关闭”重复项(因为切换旨在处理这两个问题)
jQuery(document).ready(function($){
$('.toggle').on('click', function(){
var targetBox = $(this).attr('target-box'); // Find the target box
$('.box').not(targetBox).hide(1000); // Hide all other boxes
$(targetBox).toggle(1000); // Toggle the current state of this one
});
});
.container {
width: 90px;
}
.box1 {
background-color: green;
color: red;
display: none;
}
.box2 {
background-color: blue;
color: yellow;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="box box1" id="box1">
This is Box 1
</div>
<div class="box box2" id="box2">
This is Box 2
</div>
</div>
<a href="#" class="toggle" target-box="#box1">Toggle Box1</a>
<a href="#" class="toggle" target-box="#box2">Toggle Box2</a>
内容总结
以上是互联网集市为您收集整理的javascript-在同一位置仅切换一个div元素(隐藏所有其他div)全部内容,希望文章能够帮你解决javascript-在同一位置仅切换一个div元素(隐藏所有其他div)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。