我有一个手风琴,它在我的页面内工作得很好。当你点击标题时,隐藏的div会显示,当你再次点击它时,它会再次隐藏。我想通过增加一个功能来增强手风琴,使手风琴一次只显示一个项目。换句话说,如果我打开了一个项目,并单击另一个标题,则当前打开的项目将自动关闭。
这是HTML
<div class="cap">
<div class="capitulo"><h2 class="cap2">Capitulo Segundo</h2></div>
<div class="capcierre2">
<h3>DE LOS DEBERES DEL PROFESIONISTA.</h3>
<p class="art">Articulo 2º</p>
<p>El Arquitecto debe poner todos sus conocimientos científicos y recursos técnicos en el desempeño de su profesión.</p>
</div>
</div>
这是我的jQuery代码
<script>
jQuery(function($){
var cap = $('.cap [class^="capcierre"]').hide();
$('h2[class^="c"]').on('click', function(){
cap.filter('.capcierre' + this.className.slice(-1)).slideToggle(200);
});
});
</script>
如您所见,我有一个main(div class=“cap”)后跟一个(div class=“capitalo”),然后每个h2的可点击标题(h2 class=“cap2”),后跟一个类“cap3”、“cap4”等。然后隐藏的div是(div class=“capcierre2”)“capcierre3”、“capcierre4”等。
它工作得很好,但是我可以向Jquery添加什么来隐藏手风琴中的所有项目,而只显示一个?
谢谢
您可以尝试隐藏所有可见的capcierre元素。
jQuery(function($){
var cap = $('.cap [class^="capcierre"]').hide();
$('h2[class^="c"]').on('click', function(){
var target = cap.filter('.capcierre' + this.className.slice(-1));
$('.cap [class^="capcierre"]:visible').not(target).slideUp();
target.slideToggle(200);
});
});
你可以
jQuery(function ($) {
var cap = $('.cap [class^="capcierre"]').hide();
$('h2[class^="c"]').on('click', function () {
var $this = cap.filter('.capcierre' + this.className.slice(-1)).slideToggle(200);
cap.not($this).slideUp();
});
});
演示:小提琴
更简洁的方法(假设示例中给出的结构)
jQuery(function($) {
var $caps = $('.cap .capcierre');
$('.cap .capitulo h2').on('click', function() {
var $capcierre = $(this).parent().next();
$capcierre.slideToggle(200);
$caps.not($capcierre).slideUp();
});
});
.cap .capcierre {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="cap">
<div class="capitulo">
<h2 class="cap1">Capitulo Segundo</h2>
</div>
<div class="capcierre capcierre1">
<h3>DE LOS DEBERES DEL PROFESIONISTA.</h3>
<p class="art">Articulo 2º</p>
<p>El Arquitecto debe poner todos sus conocimientos científicos y recursos técnicos en el desempeño de su profesión.</p>
</div>
<div class="capitulo">
<h2 class="cap2">Capitulo Segundo</h2>
</div>
<div class="capcierre capcierre2">
<h3>DE LOS DEBERES DEL PROFESIONISTA.</h3>
<p class="art">Articulo 2º</p>
<p>El Arquitecto debe poner todos sus conocimientos científicos y recursos técnicos en el desempeño de su profesión.</p>
</div>
<div class="capitulo">
<h2 class="cap3">Capitulo Segundo</h2>
</div>
<div class="capcierre capcierre3">
<h3>DE LOS DEBERES DEL PROFESIONISTA.</h3>
<p class="art">Articulo 2º</p>
<p>El Arquitecto debe poner todos sus conocimientos científicos y recursos técnicos en el desempeño de su profesión.</p>
</div>
</div>
我正在逐个迭代字符串对象列表中的元素: 在这里,每次我调用list上的get()时,列表都会从其一端一直迭代到第i个元素——因此上面循环的复杂性是O(n^2)。 是a.)对于增强型for循环,与上面相同,还是b.)对于循环,将指针保持在最后一个指针所在的位置,因此下面循环的复杂性是O(n)? 如果上面的情况(b)——我想是这样的——在列表上使用迭代器有什么好处吗。这是简单的迭代--没有回头路 蒂亚
ZGC 或 Z 垃圾收集器是在 Java 11 中引入的,作为一种低延迟垃圾收集机制。ZGC 确保垃圾收集暂停时间不依赖于堆大小。无论堆大小是 2MB 还是 2GB,它都不会超过 10 毫秒。 但是 ZGC 在将未使用的堆内存返回给操作系统方面存在限制,例如 G1 和 Shenandoah 等其他 HotSpot VM GC。以下是使用 Java 13 完成的增强功能: ZGC 默认将未提交的内存
除了agent和环境之外,强化学习的要素还包括策略(Policy)、奖励(reward signal)、值函数(value function)、环境模型(model),下面对这几种要素进行说明: 策略(Policy) ,策略就是一个从当环境状态到行为的映射; 奖励(reward signal) ,奖励是agent执行一次行为获得的反馈,强化学习系统的目标是最大化累积的奖励,在不同状态下执行同一个行
我有以下ElasticSearch DSL查询 我希望在与字段匹配时提高得分,也希望在字段匹配时降低得分。 我试过很多事情,比如: 或 但不能让它工作。我也尝试过将should和must等结合起来,但并没有走得太远--甚至不值得分享。有没有一种简单的方法可以做到这一点,而不需要重新对我所有的文档进行重新德行/重新打分?使用ES查询(而不是ES-DSL)的答案也会很有帮助。
Java 是静态语言。但是 JVM 却不那么静态。静态语言的好处是,IDE 可以提供很高级的重构功能。缺点是你的代码 会比较僵化,像 Javascript 一样的动态语言(或者说,后绑定语言),在编写程序时的随心所欲,估计 Java 程序员 是享受不到了。 但是好在 Java 还提供了“反射”。 在任何时候,你如果想在运行时决定采用哪个实现类,或者调用哪个方法,通过反射都可以实现,虽然不那么方便
插件可以增加 Vue 的全局/实例属性和组件选项。在这些情况下,在 TypeScript 中制作插件需要类型声明。庆幸的是,TypeScript 有一个特性来补充现有的类型,叫做模块补充 (module augmentation)。 例如,声明一个string类型的实例属性$myProperty: // 1. 确保在声明补充的类型之前导入 'vue' import Vue from 'vue'