首页 > 解决方案 > 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')
}

尽管在后端代码之前和之后调用了jquery代码,但加载器从未出现过

标签: javascriptphpjquerylaravelfancytree

解决方案


我认为这可能是因为在您显示加载指示器后,您会立即将其隐藏。

在事件激活功能中查看您的代码:

$('#loader').css('display','block') //bunch of random code here $('#loader').css('display','none')


推荐阅读