gpt4 book ai didi

javascript - jQuery 函数仅在调试器模式下工作

转载 作者:行者123 更新时间:2023-12-02 21:30:10 25 4
gpt4 key购买 nike

我尝试在过滤表中的行(有 5000 行)时显示和隐藏加载器/旋转器 GIF。

$('.dropdown-filter-menu-item.select-all').click(function () {
document.getElementsByClassName('modal')[0].style.display='block';
// filter function
**code goes here**
document.getElementsByClassName('modal')[0].style.display='none';
})

这里,“dropdown-filter-menu-item”是复选框过滤器的类名,modal是使用的“loader”的类名。当我将调试器放置在显示或隐藏行中时,它工作正常。没有调试器,它无法工作。我认为元素的样式只有在函数结束后才会改变。你能帮我解决这个问题吗?提前致谢。

最佳答案

I think the styles of element gets changed only after the function ends

猜得不错,这正是正在发生的事情,因为整个函数是同步的。

有一个很好的技巧可以使用,它可以让你的加载图像显示出来,然后解决耗时的过滤功能。超时后执行过滤:

$('.dropdown-filter-menu-item.select-all').click(function () {
document.getElementsByClassName('modal')[0].style.display='block';
setTimeout(filter); // defaults to 0ms
})

function filter() {
**code goes here**
document.getElementsByClassName('modal')[0].style.display='none';
}

setTimeout 允许您的函数在下一个生命周期中运行,从而允许首先显示加载图像。

关于javascript - jQuery 函数仅在调试器模式下工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60639041/

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