Javascript 如何在不单击的情况下切换div
这是我的html视图Javascript 如何在不单击的情况下切换div,javascript,angular,Javascript,Angular,这是我的html视图 <div class=""> <div class=""> <section class="accordian" role="tablist" aria-live="polite"> <article *ngFor="let item of list;le
<div class="">
<div class="">
<section class="accordian" role="tablist" aria-live="polite">
<article *ngFor="let item of list;let i = index;">
<div class="section-title" role="tab" (click)="toggle($event, i)">
<h3 >{{ item.name }}</h3>
</div>
<div class="collapsing-section panel">
toggle data
</div>
</article>
</section>
</div>
</div>
{{item.name}
切换数据
我用于togglediv元素的函数在这里传递数组元素的事件和索引
toggle(event, index) {
const element = event.target;
element.classList.toggle("active");
this.list[index].isActive = this.list[index].isActive ? false : true;
for (let i = 0; i < this.list.length; i++) {
if(index != i) this.list[i].isActive = false;
}
const sib = element.parentElement.nextElementSibling;
// console.log(panel);
if (sib.style.maxHeight) {
sib.style.maxHeight = null;
} else {
sib.style.maxHeight = sib.scrollHeight + "px";
}
}
切换(事件、索引){
常量元素=event.target;
元素.classList.toggle(“活动”);
this.list[index].isActive=this.list[index].isActive?false:true;
for(设i=0;i
在这里,我想在不使用鼠标的情况下切换accordian单击事件看起来像是您混淆了函数调用的参数顺序。 看看:
你打算如何在没有点击事件的情况下触发该功能?对我来说,这个
(点击)
看起来很像点击事件。几乎所有的时间都没有鼠标点击事件,因此除了点击的那一刻,它会不断地闪进闪出。(根据经验,你需要说出你想触发什么以及你不想触发什么)。没有鼠标点击?你们能解释一下什么时候切换手风琴吗?嗨,Emilien,就像jquery中的触发器函数一样,我为触发器创建了一个函数并调用这个函数,但在控制台鼠标事件中,我得到scrollY=0 ScrollX=0,但当我用鼠标点击div元素时,我在scrollY和ScrollX中得到了一些值
(click)="toggle($event, i)" // html
toggle(index, event) { ... } // ts