我已经解决了这个问题好几天了,我知道这是一个简单的修复,但我无法得到它!
现在,显示我网站的标题,但是一旦点击了一个手风琴项目,标题就会被隐藏,但我试图让它在没有任何手风琴项目处于活动状态时再次显示标题。
这是我到目前为止的代码:
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function() {
$('.heading').hide();
var active = document.querySelector(".accordion.active");
if (active && active != this) {
active.classList.remove("active");
active.nextElementSibling.classList.remove("show");
}
this.classList.toggle("active");
this.nextElementSibling.classList.toggle("show");
}
};
我只需要在没有任何活动时显示标题!谢谢!
答案 0 :(得分:0)
我认为accodion一次打开一个标签。这意味着当您单击一个活动的时,它会关闭所有设置。如果这是真的,我们可以简单地检查点击活动元素的时间,并在那种情况下显示&#34;标题&#34;
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function() {
$('.heading').hide();
var active = document.querySelector(".accordion.active");
if (active && active == this) {
$('.heading').show();
}
if (active && active != this) {
active.classList.remove("active");
active.nextElementSibling.classList.remove("show");
}
this.classList.toggle("active");
this.nextElementSibling.classList.toggle("show");
}
};
答案 1 :(得分:0)
我建议您声明一个var count
全局变量。每当您激活一个部分时,count
增加1,即count++
,并且每次停用时都会count--
。
现在,如果count <= 0
在任何时候 - 再次显示标题。