gpt4 book ai didi

javascript - 获取折叠后 Accordion 的 offsetTop

转载 作者:行者123 更新时间:2023-11-28 03:13:10 24 4
gpt4 key购买 nike

我正在尝试获取单击的 Accordion 标题在单击后的绝对位置。

问题是,Bootstrap 和我的 jquery 的 Accordion 折叠运动几乎是在同一时刻触发的。发生的情况是我的 jquery 获得了 Accordion 折叠之前的偏移量。

折叠后,单击后标题可以有另一个 offsetTop

有没有办法在折叠后给我的 jquery 加注星标,或者稍等一下让 Accordion 折叠,然后请求 offsetTop

const handle = document.querySelector('#handle');



const headers = document.querySelectorAll('.accordion')

.forEach(el => {

el.addEventListener('mouseover', e => {

handle.style.top = `${e.currentTarget.offsetTop}px`;



});

});

Here is an example

正如您在示例中看到的,如果您首先打开第一部分,然后再打开第二部分,则点会向下移动很远。

如果您再次单击第二部分,它将移动到正确的位置

最佳答案

如果我理解你的问题,你可以使用 setTimeout() 等待动画完成

请注意,一个问题是我们没有动态设置等待时间,因此可能感觉响应不灵敏。

    setTimeout(()=>{
handle.style.top = `${e.target.offsetTop}px`;
}, 200)

关于javascript - 获取折叠后 Accordion 的 offsetTop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59909841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com