بعد از هر کلیک که ایتم باز میشه اگه خواستم اون ایتم که روش کلیک شده رو ببندم چه کدی باید بزنم یعنی accordion کامل مثل اولش بسته بشه
سلام دوست عزیز
برای انجام موردی که گفتید باید درون EventListener و جایی که شرط برای activeItem گذاشته شده یک شرط دیگر هم اضافه بشه که activeItem برابر با مقدار currentTarget نباشه و باید در جایی که کلاس open اضافه میشه بجای add از toggle استفاده کرد.
با این دو کار در واقع ما میگوییم که اگر بروی آیتمی کلیک شد که با آیتمی که قبلا درون متغییر (activeItem) گذاشته بودیم یکسان نبودن اون موقع کلاس open رو از اون آیتم حذف کن و قسمت مربوط به toggle هم که واضح هست.
پس کدتون رو باید بصورت زیر باشه:
for (let i = 0; i < items.length; i++) {
items[i].addEventListener('click', (event) => {
const current = event.currentTargetif (activeItem && activeItem != current) {
activeItem.classList.remove('open')
}
activeItem = current
current.classList.toggle('open')
})
}