javascript - Laravel/FancyTree 中 Jquery 对 CSS 所做的更改仅反映在函数末尾
问题描述
我目前有一个花哨的树,当激活一个节点时,它将运行一堆消耗时间的 ajax/后端代码。
期望的结果:单击节点时,活动事件处理程序应捕获事件并显示加载图标,直到在删除加载图标之前完成以下所有代码但是,jquery 所做的 CSS 更改直到在即使在附加的 ajax 和后端代码集之前已经调用了 jquery 命令,函数也已经完成。这导致加载程序根本没有被反映。
糟糕的解决方案:在加载程序的可见性切换之间设置一个窗口超时允许加载程序在再次删除之前实际反映到屏幕上。
activate: function(event, d) {
console.log('make loader appear');
$('#loader').css('display','block')
//bunch of random code here
$('#loader').css('display','none')
}
解决方案
我认为这可能是因为在您显示加载指示器后,您会立即将其隐藏。
在事件激活功能中查看您的代码:
$('#loader').css('display','block') //bunch of random code here $('#loader').css('display','none')
推荐阅读
- mongodb - Mongodb - 根据数组元素查找查询
- azure - 存储队列服务上的 ARM 模板错误作为可选参数
- sql - 如果在 postgres 中找不到记录,如何设置默认值
- python - 在 QtreeWidget 中拖动 Qframe
- php - 如何在 php-ffmpeg 中提高 ffmpeg 添加水印的速度?
- python - 将参数传递给 super().__init__ 的优雅方式,同时将其名称保留在签名中?
- c - CS50 恢复 - 为什么我不断收到分段错误?
- python - 如何摆脱最后一列中的零
- amazon-web-services - 跨多个 EC2 实例的 buildManifest 上的 Nextjs 404s
- angular - How to resolve "Cannot read property 'map' of null" after npm start?